JavaScript中易犯的小错误-------常见错误四:比较运算符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中易犯的小错误-------常见错误四:比较运算符相关的知识,希望对你有一定的参考价值。

javascript中易犯的小错误-------常见错误四:比较运算符
JavaScript中一个比较便捷的地方,便是它可以给每一个在比较运算的结果变量强行转化成布尔类型。但是从另一方面来考虑,有时候它也会为我们带来很多不便,下面的这些例子便是一些一直困扰很多程序员的代码实例:
console.log(false == ‘0‘);
console.log(null == undefined);
console.log(" \t\r\n" == 0);
console.log(‘‘ == 0); // And these do too!
if ({}) // ...
if ([]) // ...
最后两行的代码虽然条件判断为空(经常会被人误认为转化为false),但是其实不管是{ }还是[ ]都是一个实体类,而任何的类其实都会转化为true。就像这些例子所展示的那样,其实有些类型强制转化非常模糊。因此很多时候我们更愿意用 === 和 !== 来替代== 和 !=, 以此来避免发生强制类型转化。. ===和!== 的用法和之前的== 和 != 一样,只不过他们不会发生类型强制转换。另外需要注意的一点是,当任何值与 NaN 比较的时候,甚至包括他自己,结果都是false。因此我们不能用简单的比较字符来决定一个值是否为 NaN 。我们可以用内置的 isNaN() 函数来辨别:
console.log(NaN == NaN); // false
console.log(NaN === NaN); // false
console.log(isNaN(NaN)); // true

以上是关于JavaScript中易犯的小错误-------常见错误四:比较运算符的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中易犯的小错误-------常见错误四:比较运算符

JavaScript中易犯的小错误-------常见错误五:低效的DOM操作

JavaScript中易犯的小错误-------常见错误二:传统编程语言的生命周期误区

十个JavaScript中易犯的小错误,你中了几枪?

CSS网页布局中易犯的10个小错误

遍历时常犯的小错误以及属性attr 和 prop