js比较运算符
来源:互联网 发布:网络拍卖平台 编辑:程序博客网 时间:2024/06/08 11:09
比较运算符
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
1 0
- js比较运算符
- 比较运算符 js
- js 比较运算符
- 07、js内的比较符与运算符
- JS比较运算符及null和Undefined区别
- 使用比较运算符
- bash 比较运算符
- bash 比较运算符
- PHP比较运算符
- bash 比较运算符
- nhibernate 比较运算符
- c#比较运算符
- php 比较运算符
- linux 比较运算符
- PHP比较运算符
- PHP比较运算符
- 运算符比较
- 比较运算符
- 目标跟踪:KCF代码分析(matlab版本)
- CURL基础使用
- iOS路由跳转(三)之JKRouter基础教程2
- Flink的standalone 模式简单部署
- HDU
- js比较运算符
- 深度探索c++对象模型
- maven仓库-私服
- 线性表的顺序存储结构
- HTML5日期输入类型(date)
- 数组去重与生成随机数组
- maven的jar包下载失败问题
- Uncaught TypeError: $(...).Validform is not a function
- L1-017. 到底有多二