第1章
- 推荐使用4个空格字符为一个缩进层级。将文本编辑器Tab默认设置为4个空格。绝对不要混合使用。
- JavaScript以分号结尾。
- 行的长度不超过80个字符。
- 在运算符后换行,下一行增加两个层级的缩进(假如缩进为4个字符,两个层级的就是8个字符)。
-
if (isLeapYear && isFebruary && day == 29 && itsYourBirthday && noPlan) { waitAnotherFourYears(); }
例外:当给变量赋值时,第二行的位置应当和赋值运算符的位置保持对齐。
var result = something + anotherThing + yetAnotherThing + somethingElse + anotherSomethingElse;
-
可添加空格的场合:
-
在方法之间。
-
在方法中的局部变量(local variable)和第一条语句之间。
-
在多行或单行注释之前。
-
在方法内的逻辑片段之间插入空行,提高可读性。
-
-
驼峰式大小写Camel Case命名法:由小写字母开始,后续每个单词首字母都大写。
-
变量名前缀应当是名词。函数名前缀应当是动词。尽量在变量名中体现出值的数据类型。对于函数和方法命名来说,第一个单词应当是动词。常见的动词:
-
动词 含义 can 函数返回一个布尔值 has 函数返回一个布尔值 is 函数返回一个布尔值 get 函数返回一个非布尔值 set 函数用来保存一个值
-
- 常量命名约定(C语言):使用大写字母和下划线(用以分隔单词)。
- 构造函数:大驼峰命名法(Pascal Case)。以大写字母开始。
- 字符串:使用双引号括起来(便于切换上下文)。多行字符串的写法:使用字符串连接符(+)将字符串分成多份。
- 数字:不要省略小数点之前或之后的数字。代码中禁止八进制直接量。
- null:将它当做对象的占位符(placeholder)。应当使用null的情况:
- 用来初始化一个变量,这个变量可能赋值为一个对象。
- 用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象。
- 当函数的参数期望是对象时,用作参数传入。
- 当函数的返回值期望是对象时,用作返回值传出。
- 不应当使用null的场景:
- 不要使用null来检测是否传入了某个参数。
- 不要使用null来检测一个未初始化的变量。
- null == undefined 结果是true。如果使用了一个可能(或可能不会)赋值为一个对象的变量时,则将其赋值为null。typeof运算符运算null的类型时,则将其赋值为null。
- 推荐使用对象直接量代替Object构造函数。例如:
var book = { title:“Maintainable JavaScript”, author: "Nicholas C. Zakas" };
- 推荐使用数组直接量创建数组。例如:
var colors = ["red", "green", "blue"];