JS比较运算符之等于与不等于详解

[align=center]JS比较运算符之等于与不等于详解[/align]
[b]1.1等于(==)与不等于(!=)[/b]
使用==或!=来比较两个数据是否相等,如果两个数据的类型不同,将进行转换后比较。
[b]1.1.1转换的规则[/b]
如果其中一个操作数的类型为Boolean,那么,首先将它转换为数字类型,false转换为0, true将转换为1。
如果其中一个操作数的类型是字符串,另外一个为数字类型,那么,将字符串转换为数字进行比较。
如果其中一个操作数的类型是字符串,另外一个为object类型,那么,将调用对象的toString方法之后,比较字符串。
如果其中一个操作数的类型是数字类型,另外一个为object类型,那么,将对象转换为数值后进行数字比较。
[b]1.1.2一些特殊的比较[/b]
null和undefined是相等的,不会转换为任何其他类型。
如果任何一个操作的结果为NaN,那么相等比较返回false,不相等比较返回true。如果两个操作数都为NaN,返回结果一样是false,即NaN不等于NaN。
如果两个操作数都是对象,那么比较它们引用的值,如果引用同一个对象,那么,返回真,否则,返回假。
[b]1.1.3实例[/b]
null == undefined [color=green]//返回值为true[/color]

true == 1 [color=green]//返回值为true[/color]
false == 0 [color=green]//返回值为true[/color]
true == 2 [color=green]//返回值为false[/color]

var obj = {};
10 == obj [color=green]//返回值为false[/color]
[b]1.2绝对等于(===)与绝对不等于(!==)[/b]
使用===或!==来比较两个数据是否相等,比较前后不进行任何转换。不仅要比较数据类型,还要比较数据的值。
[b]1.3对比实例[/b]
var a = "100";
var b = 100;
a == b [color=green]//返回值为true[/color]
a === b [color=green]//返回值为false[/color]

a != b [color=green]//返回值为false[/color]
a !== b [color=green]//返回值为true[/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值