首页 > 代码库 > 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编写风格指南