使用 .parseInt() 的时候,总是指定第二个 ‘radix’ 参数
把字符串解析为整数的时候,有个好习惯是指定第二个基数参数 -- 它会确定该字符串被转换成几进制。当字符串以 0 开头的时候,缺省情况下会触发 16 进制作为基数。大部分初级和中级用户只会用到 10 这个基数。 感谢 João Moreno 记录的这个 勘误。
alert( parseInt("08") ); // alerts: 2
alert( parseInt("08",10) ); // alerts: 8
避免比较 true 和 false
直接比较 true 和 false 的值是没有必要的。有时候也许明确一下有好处,但它还是额外的代码。
if (foo === true) {
// 用了 === 倒是不错,可这是多余的
}
if (foo) {
// 赞!
}
if (!bar) {
// 反过来也赞
}
避免污染全局命名空间
// 被污染的全局命名空间
var settingA = true;
var settingB = false;
var settingC = "test";
// 用 settings 作为对象命名
var settings = {
settingA: true,settingB: false,settingC: "test"
}
函数调用不要传输太多的参数
对于可读性而不是其他因素来说,下面这种方式真是糟透了:
function greet(name,language,age,gender,hairColour,eyeColour) {
alert(name);
}
下面的例子预先构建了一个对象作为参数,或者把内联对象传递过去,这样就好多了。
function greet(user) {
alert(user.name);
}
greet({
name: "Bob",gender: "male"
});