建议尽量都使用===,原因如下:
- 一致性:使用==对一致性没有任何好处,那么为什么不避免使用呢。
- 简单和性能:一般来说,===是最简单的操作符,因为它不用进行类型转换。JavaScript引擎的性能参差不齐,但是在大部分浏览器中===比==速度更快。
- 即使会自动转换,但并不总是按你需要的方式转换:比如7+“3”;//"73"。
如果非要使用==,可参考如下两种情况:
1,判断对象的属性是否存在
var obj = {}
if (obj.a == null) {
// 这里相当于 obj.a === null || obj.a === undefined 的简写形式
// 这是jquery源码中推荐的写法
}
2,判断函数的参数是否存在
function fn(a, b) {
if (b == null) {
// 这里相当于 b === null || b === undefined 的简写形式
}
}