缩进层级
推荐4个空格字符作为一个缩进层级。
语句结尾
推荐不要省略分号。
行的长度
最好一行不超过80个字符。
换行
在运算符后换行,下一行增加两个层级的缩进。
例外:给变量赋值时,第二行的位置和赋值运算符的位置对齐。比如:
var result = something + anotherThing + yetAnotherThing +
somethingElse + anotherSomethingElse;
空行
● 在方法之间
● 在方法的局部变量和第一条语句之间
● 在多行或单行注释之前
● 在方法内的逻辑片段(if等)之间
命名
驼峰式大小写:由小写字母开始,后续每个单词首字母大写。
变量和函数
变量名前缀应当是名词,函数名前对应当是动词。
var count = 10;
var myName = "Nick";
var found = true;
function getName(){
return myName;
}
边框 | 含义 |
can | 函数返回一个布尔值 |
has | 函数返回一个布尔值 |
is | 函数返回一个布尔值 |
get | 函数返回一个非布尔值 |
set | 函数用来保存一个值 |
常量
用大写字母和下划线来命名,下划线用以分隔单词。
构造函数
大驼峰命名法,以大写字母开始。
好处:遵守这条约定,在以大驼峰命名法命名的函数如果是名词的话,前面一定会有new运算符。
直接量
字符串
单引号和双引号都可以,只需要从头到尾只保持一种风格,如果在Java和JavaScript中经常切换,建议使用双引号。
多行字符串的写法:用字符串连接符(+)讲字符串分成多份。
//Good
var longString = "Here's the story of a man " +
"named Brady.";
//这是一种奇技淫巧而非语言特性。在Google的JavaScript风格指南中是禁止的。
var longString = "Here's the story of a man \
named Brady.";
数字
不要省略小数点之前或之后的部分。
不要写八进制。
null
● 用来初始化一个变量,可能赋值为一个对象。
● 用来和一个已经初始化的变量比较,可以是也可以不是一个对象。
● 当函数的参数期望是对象时,用作参数传入。
● 当函数的返回值期望是对象时,用作返回值传出。
下面的场景不要使用null
● 不要使用null来检测是否传入了某个参数。
● 不要用null来检测一个未初始化的变量。
undefined
避免使用undefined,可以有效地确保只在一种情况下typeof才会返回"undefined"。
对象直接量
将所有的属性都括在一对花括号内。第一行包含左花括号,每一个属性的名值都独占一行,并保持一个缩进,最后右花括号也多占一行。
数据直接量
用两个方括号讲数据初始元素括起来。