自用代码规范-JavaScript

JavaScript规范

变量

声明变量必须加上 var 关键字。

当你没有写 var,变量就会暴露在全局上下文中,这样很可能会和现有变量冲突。另外,如果没有加上,很难明确该变量的作用域是什么,变量也很可能像在局部作用域中,很轻易地泄漏到 Document 或者 Window 中,所以务必用 var 去声明变量。

常量

常量的形式如: NAMES_LIKE_THIS, 即使用大写字符,并用下划线分隔。

分号

总是使用分号。不解释。

多行字符串

不要使用。请使用前端模板。

不要这样写长字符串:

var myString = 'A rather long string of English text, an error message \
            actually that just keeps going and going -- an error \
            message to make the Energizer bunny blush (right through \
            those Schwarzenegger shades)! Where was I? Oh yes, \
            you\'ve got an error and all the extraneous whitespace is \
            just gravy.  Have a nice day.';

命名

通常,使用 functionNamesLikeThis,variableNamesLikeThis,ClassNamesLikeThis,EnumNamesLikeThis,methodNamesLikeThis,和 SYMBOLIC_CONSTANTS_LIKE_THIS。

注:

  • 1.文件或类中的 私有 属性,变量和方法名应该以下划线 "_" 开头。
  • 2.保护 属性,变量和方法名不需要下划线开头,和公共变量名一样。

大括号

分号会被隐式插入到代码中,所以你务必在同一行上插入大括号。例如:

if (something) {
  // ...
} else {
  // ...
}

缩进

大多数代码使用两个空格而不是制表符来进行缩进。

除了 初始化数组和对象,和传递匿名函数外,所有被拆开的多行文本要么选择与之前的表达式左对齐,要么以4个(而不是2个)空格作为一缩进层次。

如果初始值不是很长,就保持写在单行上:

var arr = [1, 2, 3];  // No space after [ or before ].
var obj = {a: 1, b: 2, c: 3};  // No space after { or before }.

初始值占用多行时,缩进2个空格。

// Object initializer.
var inset = {
  top: 10,
  right: 20,
  bottom: 15,
  left: 12
};

// Array initializer.
this.rows_ = [
  '"Slartibartfast" ',
  '"Zaphod Beeblebrox" ',
  '"Ford Prefect" ',
  '"Arthur Dent" ',
  '"Marvin the Paranoid Android" ',
  '[email protected]'
];

// Used in a method call.
goog.dom.createDom(goog.dom.TagName.DIV, {
  id: 'foo',
  className: 'some-css-class',
  style: 'display:none'
}, 'Hello, world!');

比较长的标识符或者数值, 不要为了让代码好看些而手工对齐. 如:

CORRECT_Object.prototype = {
  a: 0,
  b: 1,
  lengthyName: 2
};

不要这样做:

WRONG_Object.prototype = {
  a          : 0,
  b          : 1,
  lengthyName: 2
};

空行

使用空行来划分一组逻辑上相关联的代码片段。

doSomethingTo(x);
doSomethingElseTo(x);
andThen(x);

nowDoSomethingWith(y);

andNowWith(z);

引号

使用 ' 优于 "。

当你创建一个包含 HTML 代码的字符串时就知道它的好处了。

var msg = 'This is some HTML';

注释

好的函数命名与参数命名优于注释。如果你特别喜爱写注释,请使用JSDoc中的注释风格。行内注释使用 // 变量 的形式。

你可能感兴趣的:(自用代码规范-JavaScript)