JavaScript 三个等号(===)比较后为true的条件

JavaScript 三个等号(===)比较后为true,必须满足以下四个条件:

[b]1、两个的数据类型必须一样;
2、两个数据的值必须一样;
3、两个都不能是NaN;
4、两个都不能是对象(除非两个都是null);[/b]
[b]
说明:① JS是引用比较,而非值比较;
② === 比较时,两边的数据不做任何的类型转换。[/b]

例子:

1、数据类型不一样:
var a = '1';
var b = 1;
var c = new String('1');

a === b;//结果是false
a === c;//结果是false,同时c是一个对象


2、值不一样结果肯定是false,代码就不用写了吧。


3、NaN的情况:
NaN === NaN;//结果是false
NaN === 0;//结果是false


4、不能是对象的情况:
var a = 1;
var b = new Number(1);
var c = new Number(1);
var d = {s: 1, t: 2};
var e = {s: 1, t: 2};
var f = [1, 2, 3];
var g = [1, 2, 3];

a === b;//结果是false
c === b;//结果是false
d === e;//结果是false,因为它们都是对象,就算它们属性及其值都一样
f === g;//结果是false,数组也是对象


5、容易出错的比较:
null === null; //结果是true,虽然null的数据类型是对象,这是一个特例
undefined === undefined; //结果是true,因为undefined是JS的全局属性
Infinity === Infinity; //结果是true,Infinity也是JS的全局属性
null === undefined; //结果是false,null是对象类型的,undefined是全局属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值