首页 > 代码库 > JavaScript编写风格指南
JavaScript编写风格指南
//参考《编写可维护的Javascript》
一:缩进
// 第一行的层级由4个空格组成,避免使用制表符tab进行缩进
//好的写法
if (true) {
doSomething();
}
二:行的长度
// 每行长度不应该超过80个字符。如果一行对于80个字符,应当在一个运算符(逗号,加号符)
// 后换行。下一行应当增加两级缩进
//好的写法
doSomething(argument1, argument2, argument3, argument4,
argument5);
三:原始值
// 字符串应当使用双引号(避免使用单引号)且保持一行。避免在字符串中使用斜线另起一行
//好的写法
var name = "M";
//不好的写法
var name = ‘M‘;
//不好的写法:字符串结束之前换行
var longString = "Here‘s the sorry, of a man \
named Brady.";
// 数字应当使用十进制整数,科学计数法表示整数,十六进制整数,或者十进制浮点小数,
// 小数点前后应当至少保留一位数字。避免使用八进制直接量
//好的写法
var count = 10;
var price = 10.00;
var price = 10.0;
var num = 0x23;
//不好的写法
var price = 10.;
var price = .1;
var price = 010;
特殊值null除了下述情况下应当避免使用
// 1.用来初始化一个变量,这个变量可能被赋值为一个对象
// 2.用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象
// 3.当函数的参数期望是对象时,被用作参数传入
// 4.当函数的返回值期望是对象时,被用作返回值传出
Example:
//好的写法
var person = null;
//好的写法
function getPerson() {
if (condition) {
return new Person("M");
} else {
return null;
}
}
//好的写法
var person = getPerson();
if (person !== null) {
doSomething();
}
//不好的写法:和一个未被初始化的变量比较
var person;
if (person != null) {
doSomething();
}
//不好的写法:通过测试判断某个参数是否被传递
function doSomething(arg1, arg2, arg3, arg4) {
if (arg4 !== null) {
doSomething();
}
}
//避免使用特殊值 undefined 判断一个变量是否定义应当使用typeof操作符
//好的写法
if (typeof variable == "undefined") {
//do something;
}
//不好的写法:使用了undefined直接量
if (variable == undefined) {
// do something;
}
四:运算符间距
// 三元运算符前后必须使用一个空格来保持表达式的整洁。
// 操作符包括赋值运算符和逻辑运算符
//好的写法
var found = (value[i] === false);
//好的写法
if (found && (count > 10)) {
doSomething();
}
//好的写法
for (i = 0; i < count; i++) {
process(i);
}
//不好的写法:丢失了空格
var found = (varlues[i]===false);
if (found&&(count>10)) {
doSomething();
}
for (i=0; i<count; i++) {
process(i);
}
JavaScript编写风格指南