本文总结了20则JavaScript的最佳实践,希望对各位爪哇国编剧有用。(顺带推销下CoffeeScript)
1. 使用 ===
JavaScript有两种等值运算符,分别是===
和==
,以及!==
和!=
。比较两个值的时候,请使用前者,避免JavaScript讨厌的强制类型转换带来预料之外的结果。
CoffeeScript下只提供无强制类型转换的==
(别名is
)和!=
(别名isnt
),不用头疼选哪种。
2. eval很邪恶
eval
让我们将字符串作为参数执行,这是非常强大的特性。然而,eval
会大幅降低脚本的性能,也会引起安全问题。除非你打算用JavaScript写一个编译器,还是对eval
敬而远之的好。
3. 少打字多费脑
省掉一些花括号,大多数浏览器仍然能理解,例如:
if(someVariableExists)
x = false
然而,复杂一点的代码就可能带来问题:
if(someVariableExists)
x = false
anotherFunctionCall();
你想表达的也许是:
if(someVariableExists) {
x = false;
anotherFunctionCall();
}
然而实际上等价于:
if(someVariableExists) {
x = false;
}
anotherFunctionCall();
所以,还是乖乖地写花括号吧,这能为你省去无数麻烦。
如果你真那么讨厌花括号,还是投入CoffeeScript的怀抱吧:
if someVariable?
x = false
if someVariable?
x = false
anotherFunctionCall()
同理,大多数浏览器允许你省略分号:
var someItem = 'some string'
function doSomething() {
return 'something'
}
这和省略花括号一样糟糕,还是老实一点好:
var someItem = 'some string';
function doSomething() {
return 'something';
}
或者,投奔CoffeeScript吧,不用分号了:
someItem = 'some string'
doSomething = -> 'something'
函数的写法是不是也很帅?直接定义一个匿名函数,然后把它赋给一个变量即可。
4. 使用JSLint
JSLint是一款非常棒的调试器,它会迅速找出代码中的问题,包括语法错误、编码风格和程序结构问题。
5. 将脚本放在页面的底部
脚本加载是阻塞的,脚本加载并执行完之后,浏览器不能继续渲染下面的内容。因此,用户被迫等待更长时间。如果你的JavaScript脚本只是用来增强效果,那么请将它放在页面的最后:
And now you know my favorite kinds of corn.