http://javascript.crockford.com/style1 javascript风格的组成部分(第一部分)包含基本的模式和语法;
http://javascript.crockford.com/style2 javascript风格的组成部分(第二部分)包含一般性的JavaScript惯用法;
http://javascript.crockford.com/code.html
JavaScript编程语言的编码规范,这个较全面,从前两部分提炼出编程风格的精华,增补了少量的编程风格的指引
换行
行的长度不要超过80字符
一个语句需要换行时,要在运算符后截断,换行,追加两个缩进,相当于与它的子块的子块对齐
在下面这些场景中添加空行也是不错的主意:
1、在方法之间
2、在方法中的局部变量和第一条语句之间
3、在多行或单行注释之前
4、在方法内的逻辑片段之间插入空行,提高可读性
命名
“计算机科学只存在两个难题:缓存失效和命名”——Phil Karlton
匈牙利命名法不推荐,比如sName表示字符串,iCount表示整数
变量以名词作为前缀,函数名以动词作为前缀
count、length、size表明数据类型是数字,
name、title、message表明数据类型是字符串
i、j、k在循环中使用
诸如foo、bar、tmp之类没有意义的命名尽量避免
对于函数和方法命名来说,第一个单词应该是动词,一些动词的常见约定:
动词 | 含义 |
can | 函数返回一个布尔值 |
has | 函数返回一个布尔值 |
is | 函数返回一个布尔值 |
get | 函数返回一个非布尔值 |
set | 函数用来保存一个值 |
大写单词,如MAX_COUNT表示常量
null
不要和undefined搞混
在下列场景中应当使用null:
1、用来初始化一个变量,这个变量可能赋值为一个对象。
2、用来和一个已经初始化的变量比较,这个变量可以使也可以不是一个对象。
3、当函数的参数期望是对象时,用作参数传入。
4、当函数的返回值期望是对象时,用作返回值传出。
在下列一些场景不应该使用null:
1、不要使用null来检测是否传入了某个参数。
2、不要用null来检测一个未初始化的变量
注释
好的注释
单行注释,上面空一行,下一行是代码,缩进与下一行代码一致,双斜杠与文字有一个空格:
// 这是注释
var myCode = null ;
代码与注释在同一行,中间隔一个缩进,字符总和不超过80个
var myCode = null ; // 这是注释
多行注释,用java风格,星号每行都有,对齐,星号和文字间有一个空格
/*
* 这里是一个注释
* 有两行
*/
alert("内容");
好的写法:
var num = { 1 , 2 , 3 };
不好的写法
var num = new Array ( 1 , 2 , 3 );