作者的意思是尽量弃之不用的部分。
1、==
== 和 != 运算符只有在两个运算时类型一致时,才能做出正确判断,如果两个运算数是不同类型,会强制转换值的类型,有时会得到正确的结果,有时不会,因此永远不要使用这个运算符,始终使用 === 和 !== 运算符,可以减少错误。
2、with 语句
with 语句本意是想用它来快捷访问对象的属性,但它的结果有时不可预料,应尽量避免使用它。
3、eval
eval 函数传递一个字符串给 JavaScript 编译器,并且执行其结果。eval 使性能降低,减弱程序的安全性,应尽量避免使用这种形式。
4、continue
一段代码通过重构移除 continue 后,性能会得到改善。
5、switch 穿越
应尽量不刻意使用 case 条件穿越,因为穿越是一个常见的错误来源,确很难通过查看代码来发现错误。
6、缺少块的语句
If、while、do 或 for 语句可以接受一个括在花括号中的代码块,也可以接受单行语句。在写单行语句时也尽量括在花括号中,避免带来错误。
7、++ --
大多数的缓冲区溢出错误所造成的安全漏洞,都是由递增和递减运算符组成的代码引起的。不再使用递增和递减运算符,使代码也更为整洁。
8、位运算符
JavaScript 有着和 Java 相同的一套位运算符。由于执行环境没有硬件的支持,JavaScript 执行位运算速度非常慢。在 JavaScript 程序中,& 非常容易被误写为 && 运算符。
9、function 语句对比 function 表达式
JavaScript 既有 function 语句也有 function 表达式
function foo () { } // function 语句
var foo = function foo () { }; // function 表达式
尽量使用第二种形式,使代码容易理解。
10、类型的包装对象
不要使用 new Boolean、new Number 或 new String。也尽量避免 new Object 和 new Array,可使用 { } 和 [ ] 来代替。
11、new
new会带来不会报错的错误,因此根本不要去使用new。
12、void
在 JavaScript 里,void 是一个运算符,它接收一个运算数并返回undefined,这并没有什么用,应避免使用它。