|
50 | 50 | + `undefined` |
51 | 51 |
|
52 | 52 | ```javascript |
53 | | - var foo = 1, |
54 | | - bar = foo; |
| 53 | + var foo = 1; |
| 54 | + var bar = foo; |
55 | 55 |
|
56 | 56 | bar = 9; |
57 | 57 |
|
|
64 | 64 | + `function` |
65 | 65 |
|
66 | 66 | ```javascript |
67 | | - var foo = [1, 2], |
68 | | - bar = foo; |
| 67 | + var foo = [1, 2]; |
| 68 | + var bar = foo; |
69 | 69 |
|
70 | 70 | bar[0] = 9; |
71 | 71 |
|
|
151 | 151 | - When you need to copy an array use Array#slice. [jsPerf](http://jsperf.com/converting-arguments-to-an-array/7) |
152 | 152 |
|
153 | 153 | ```javascript |
154 | | - var len = items.length, |
155 | | - itemsCopy = [], |
156 | | - i; |
| 154 | + var len = items.length; |
| 155 | + var itemsCopy = []; |
| 156 | + var i; |
157 | 157 |
|
158 | 158 | // bad |
159 | 159 | for (i = 0; i < len; i++) { |
|
216 | 216 | - When programmatically building up a string, use Array#join instead of string concatenation. Mostly for IE: [jsPerf](http://jsperf.com/string-vs-array-concat/2). |
217 | 217 |
|
218 | 218 | ```javascript |
219 | | - var items, |
220 | | - messages, |
221 | | - length, |
222 | | - i; |
| 219 | + var items; |
| 220 | + var messages; |
| 221 | + var length; |
| 222 | + var i; |
223 | 223 |
|
224 | 224 | messages = [{ |
225 | 225 | state: 'success', |
|
366 | 366 | var superPower = new SuperPower(); |
367 | 367 | ``` |
368 | 368 |
|
369 | | - - Use one `var` declaration for multiple variables and declare each variable on a newline. |
| 369 | + - Use one `var` declaration per variable. |
| 370 | + It's easier to add new variable declarations this way, and you never have |
| 371 | + to worry about swapping out a `;` for a `,` or introducing punctuation-only |
| 372 | + diffs. |
370 | 373 |
|
371 | 374 | ```javascript |
372 | 375 | // bad |
373 | | - var items = getItems(); |
374 | | - var goSportsTeam = true; |
375 | | - var dragonball = 'z'; |
376 | | - |
377 | | - // good |
378 | 376 | var items = getItems(), |
379 | 377 | goSportsTeam = true, |
380 | 378 | dragonball = 'z'; |
| 379 | + |
| 380 | + // bad |
| 381 | + // (compare to above, and try to spot the mistake) |
| 382 | + var items = getItems(), |
| 383 | + goSportsTeam = true; |
| 384 | + dragonball = 'z'; |
| 385 | + |
| 386 | + // good |
| 387 | + var items = getItems(); |
| 388 | + var goSportsTeam = true; |
| 389 | + var dragonball = 'z'; |
381 | 390 | ``` |
382 | 391 |
|
383 | 392 | - Declare unassigned variables last. This is helpful when later on you might need to assign a variable depending on one of the previous assigned variables. |
|
389 | 398 | goSportsTeam = true; |
390 | 399 |
|
391 | 400 | // bad |
392 | | - var i, items = getItems(), |
393 | | - dragonball, |
394 | | - goSportsTeam = true, |
395 | | - len; |
| 401 | + var i; |
| 402 | + var items = getItems(); |
| 403 | + var dragonball; |
| 404 | + var goSportsTeam = true; |
| 405 | + var len; |
396 | 406 |
|
397 | 407 | // good |
398 | | - var items = getItems(), |
399 | | - goSportsTeam = true, |
400 | | - dragonball, |
401 | | - length, |
402 | | - i; |
| 408 | + var items = getItems(); |
| 409 | + var goSportsTeam = true; |
| 410 | + var dragonball; |
| 411 | + var length; |
| 412 | + var i; |
403 | 413 | ``` |
404 | 414 |
|
405 | 415 | - Assign variables at the top of their scope. This helps avoid issues with variable declaration and assignment hoisting related issues. |
|
639 | 649 | // make() returns a new element |
640 | 650 | // based on the passed in tag name |
641 | 651 | // |
642 | | - // @param <String> tag |
643 | | - // @return <Element> element |
| 652 | + // @param {String} tag |
| 653 | + // @return {Element} element |
644 | 654 | function make(tag) { |
645 | 655 |
|
646 | 656 | // ...stuff... |
|
653 | 663 | * make() returns a new element |
654 | 664 | * based on the passed in tag name |
655 | 665 | * |
656 | | - * @param <String> tag |
657 | | - * @return <Element> element |
| 666 | + * @param {String} tag |
| 667 | + * @return {Element} element |
658 | 668 | */ |
659 | 669 | function make(tag) { |
660 | 670 |
|
|
843 | 853 |
|
844 | 854 | ```javascript |
845 | 855 | // bad |
846 | | - var once |
| 856 | + var story = [ |
| 857 | + once |
847 | 858 | , upon |
848 | | - , aTime; |
| 859 | + , aTime |
| 860 | + ]; |
849 | 861 |
|
850 | 862 | // good |
851 | | - var once, |
852 | | - upon, |
853 | | - aTime; |
| 863 | + var story = [ |
| 864 | + once, |
| 865 | + upon, |
| 866 | + aTime |
| 867 | + ]; |
854 | 868 |
|
855 | 869 | // bad |
856 | 870 | var hero = { |
|
0 commit comments