编程即修行

JavaScript 编程风格

1. 建议起首的大括号跟在关键字的后面。

常见有两种写法:

block
{
}

block {

}
一般来说,这两种写法都可以接受。但是,JavaScript 最后使用后一种,因为 JavaScript 会自动在句末添加分号,导致一些与预期不符的问题
return
{
key: value
};

// 相当于
return;
{
key: value
};

2. 建议匿名函数的左括号和function之间应加上空格
function (x) {…}
上面代码是一个匿名函数,function是关键字,并不是函数名,所以与左括号之间加上一个空格

3. 建议语句的行尾加上分号
分号表示一条语句的结束。JavaScript 允许省略行尾的分号,JavaScript 会自动在句末添加分号。比如自增,自减运算符前会自动添加分号,不写分号可能导致代码合并出错。

4.建议不要使用with。
with可以减少代码的书写,但是会造成混淆。
with (o) {
 foo = bar;
}
上面的代码,可以有四种运行结果:
o.foo = bar;
o.foo = o.bar;
foo = bar;
foo = o.bar;
这四种结果都可能发生,取决于不同的变量是否有定义。因此,不要使用with语句。

5. 建议只使用严格相等运算符(===)
JavaScript 有两个表示相等的运算符:“相等”(==)和“严格相等”(===)。
相等运算符会自动转换变量类型,造成很多意想不到的情况。
0 == ”// true
1 == true // true
2 == true // false
0 == ‘0’ // true
false == ‘false’ // false
false == ‘0’ // true
‘ \t\r\n ‘ == 0 // true
因此,建议不要使用相等运算符(==),只使用严格相等运算符(===)。

6. 建议自增(++)和自减(–)运算符尽量使用+=和-=代替。

7.建议用对象结构替换switch…case结构。
switch…case结构要求,在每一个case的最后一行必须是break语句,否则会接着运行下一个case。这样不仅容易出错,还会造成代码的冗长。
function doAction(action) {
switch (action) {
case ‘hack’:
return ‘hack’;
case ‘slash’:
return ‘slash’;
case ‘run’:
return ‘run’;
default:
throw new Error(‘Invalid action.’);
}
}

上面的代码建议改写成对象结构。
function doAction(action) {
var actions = {
‘hack’: function () {
return ‘hack’;
},
‘slash’: function () {
return ‘slash’;
},
‘run’: function () {
return ‘run’;
}
};
if (typeof actions[action] !== ‘function’) {
throw new Error(‘Invalid action.’);
}
return actions[action]();
}

因此,建议switch…case结构可以用对象结构代替。

评论一下

avatar
  Subscribe  
提醒