空白

  • 18.1 使用 2 个空格作为缩进。

    1. // bad
    2. function() {
    3. ∙∙∙∙const name;
    4. }
    5. // bad
    6. function() {
    7. const name;
    8. }
    9. // good
    10. function() {
    11. ∙∙const name;
    12. }
  • 18.2 在花括号前放一个空格。

    1. // bad
    2. function test(){
    3. console.log('test');
    4. }
    5. // good
    6. function test() {
    7. console.log('test');
    8. }
    9. // bad
    10. dog.set('attr',{
    11. age: '1 year',
    12. breed: 'Bernese Mountain Dog',
    13. });
    14. // good
    15. dog.set('attr', {
    16. age: '1 year',
    17. breed: 'Bernese Mountain Dog',
    18. });
  • 18.3 在控制语句(ifwhile 等)的小括号前放一个空格。在函数调用及声明中,不在函数的参数列表前加空格。

    1. // bad
    2. if(isJedi) {
    3. fight ();
    4. }
    5. // good
    6. if (isJedi) {
    7. fight();
    8. }
    9. // bad
    10. function fight () {
    11. console.log ('Swooosh!');
    12. }
    13. // good
    14. function fight() {
    15. console.log('Swooosh!');
    16. }
  • 18.4 使用空格把运算符隔开。

    1. // bad
    2. const x=y+5;
    3. // good
    4. const x = y + 5;
  • 18.5 在文件末尾插入一个空行。

    1. // bad
    2. (function(global) {
    3. // ...stuff...
    4. })(this);
    1. // bad
    2. (function(global) {
    3. // ...stuff...
    4. })(this);↵
    1. // good
    2. (function(global) {
    3. // ...stuff...
    4. })(this);↵
  • 18.5 在使用长方法链时进行缩进。使用前面的点 . 强调这是方法调用而不是新语句。

    1. // bad
    2. $('#items').find('.selected').highlight().end().find('.open').updateCount();
    3. // bad
    4. $('#items').
    5. find('.selected').
    6. highlight().
    7. end().
    8. find('.open').
    9. updateCount();
    10. // good
    11. $('#items')
    12. .find('.selected')
    13. .highlight()
    14. .end()
    15. .find('.open')
    16. .updateCount();
    17. // bad
    18. const leds = stage.selectAll('.led').data(data).enter().append('svg:svg').class('led', true)
    19. .attr('width', (radius + margin) * 2).append('svg:g')
    20. .attr('transform', 'translate(' + (radius + margin) + ',' + (radius + margin) + ')')
    21. .call(tron.led);
    22. // good
    23. const leds = stage.selectAll('.led')
    24. .data(data)
    25. .enter().append('svg:svg')
    26. .classed('led', true)
    27. .attr('width', (radius + margin) * 2)
    28. .append('svg:g')
    29. .attr('transform', 'translate(' + (radius + margin) + ',' + (radius + margin) + ')')
    30. .call(tron.led);
  • 18.6 在块末和新语句前插入空行。

    1. // bad
    2. if (foo) {
    3. return bar;
    4. }
    5. return baz;
    6. // good
    7. if (foo) {
    8. return bar;
    9. }
    10. return baz;
    11. // bad
    12. const obj = {
    13. foo() {
    14. },
    15. bar() {
    16. },
    17. };
    18. return obj;
    19. // good
    20. const obj = {
    21. foo() {
    22. },
    23. bar() {
    24. },
    25. };
    26. return obj;