程序是写给人读的,只是偶尔让计算机执行一下
1.1 缩进层级
(1) 使用制表符进行缩进
一个缩进层级是一个制表符,两个缩进层级为两个制表符。
缺点:系统对制表符解释不一样,不同系统下同一编辑器对制表符展示不一样
(2) 使用空格符进行缩进
建议选择4个空格表示一个缩进
优点:所有系统和编辑器对空格符展示一致。
1.2 语句结尾
省略分号情况下,JS有自动分号插入机制ASI,大多数都会正确插入分号。
不过,为防止错误,建议永远不要省略分号。
1.3 行的长度
将代码行长度限定在80个字符
1.4 换行
通常会在运算符后换行,下一行会增加两个层级的缩进。
if ( flag && selected && selectTrain && selectFlight &&
noPlans) {
}
当给变量赋值时,第二行位置应当和赋值运算符的位置保持对齐
var result = flag + selected + selectTrain + selectFlight +
noPlans;
1.5 空行
审慎使用空格
1.6 命名
驼峰命名法
1.6.1 变量和函数
函数名语义化
避免使用没有意义的命名。
函数和方法命名示例:
can //返回一个布尔值
has //返回一个布尔值
is //返回一个布尔值
get //返回一个非布尔值
set //用来保存一个值
1.6.2 常量
var MAX_COUNT = 10;
var URL = '';
1.6.3 构造函数
第一个字母大写
Person
1.7 直接量
未声明的变量,声明了为赋值的变量。typeof返回都是undefined
var person;
typeof person ==> undefined
typeof foo ==> undefined
var name = undefined;
typeof name ==> undefined;
通过禁止使用特殊值undefined,确保只有在变量未声明时会返回undefined。