关于==的比较问题

关于==的比较问题

说到==,首先要知道在不同类型进行==比较的时候会发生js的隐式类型转换(详情请自行了解)
这里就说一写不同类型进行==比较的时候会转换成什么类型

// 1 对象 == 字符串 对象.toString() 变为字符串
var obj = {};
console.log(obj.toString());//[object Object]
var str = "[object Object]";
console.log(obj == str);//true

运行结果

// 2 null == undefined 相等 但是和其他值比较就不在相等了
var a =1,b="2",c=true;
console.log(null==undefined);//true
console.log(null==a);//false
console.log(null==b);//false
console.log(null==c);//false

运行结果

// 3 NaN == NaN 不相等,NaN和什么都不相等
console.log(NaN==NaN);//false
console.log(NaN>1);//false
console.log(NaN<1);//false
console.log(NaN==1);//false

运行结果

// 4 剩下的都转化为数字
console.log(1==true);//false
console.log(2==true);//false
console.log(3==function(){});//false
cosnole.log(function(){}==function(){});//false,不难看的function转换成了NaN
console.log(new Number(function () {}));

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值