空格

以下几种情况不需要空格:

  • 对象的属性名后
  • 前缀一元运算符后
  • 后缀一元运算符前
  • 函数调用括号前
  • 无论是函数声明还是函数表达式,'('前不要空格
  • 数组的'['后和']'前
  • 对象的'{'后和'}'前
  • 运算符'('后和')'前

以下几种情况需要空格:

  • 二元运算符前后
  • 三元运算符'?:'前后
  • 代码块'{'前
  • 下列关键字前:else, while, catch, finally
  • 下列关键字后:if, else, for, while, do, switch, case, try, catch, finally, with, return, typeof
  • 单行注释'//'后(若单行注释和代码同行,则'//'前也需要),多行注释'*'后
  • 对象的属性值前
  • for循环,分号后留有一个空格,前置条件如果有多个,逗号后留一个空格
  • 无论是函数声明还是函数表达式,'{'前一定要有空格
  • 函数的参数之间
  1. // not good
  2. var a = {
  3. b :1
  4. };
  5. // good
  6. var a = {
  7. b: 1
  8. };
  9. // not good
  10. ++ x;
  11. y ++;
  12. z = x?1:2;
  13. // good
  14. ++x;
  15. y++;
  16. z = x ? 1 : 2;
  17. // not good
  18. var a = [ 1, 2 ];
  19. // good
  20. var a = [1, 2];
  21. // not good
  22. var a = ( 1+2 )*3;
  23. // good
  24. var a = (1 + 2) * 3;
  25. // no space before '(', one space before '{', one space between function parameters
  26. var doSomething = function(a, b, c) {
  27. // do something
  28. };
  29. // no space before '('
  30. doSomething(item);
  31. // not good
  32. for(i=0;i<6;i++){
  33. x++;
  34. }
  35. // good
  36. for (i = 0; i < 6; i++) {
  37. x++;
  38. }