忘记将变量声明为局部变量,该变量将会被隐式地转变为全局变量。
// bad
function swap(a, i, j) {
temp = a[i]; // 全局变量
a[i] = a[j];
a[j] = temp;
}
// good
function swap(a, i, j){
var temp = a[i];
a[i] = a[j];
a[j] = temp;
}
故意地创建全局变量是不好的风格,而故意地创建全局变量将是彻头彻尾的灾难。
提示
- 始终使用var声明新的局部变量。
- 考虑使用lint工具帮助检查未绑定的变量。