js中==与===的区别

本文详细解析了JavaScript中双等号(==)与三等号(===)的区别,包括基础类型、高级类型间的比较原则及示例,帮助读者更好地理解并正确运用这两种操作符。

在js中,我们有时会遇到==和===的问题,下面我就来介绍这两个的区别:

1、对于string,number等基础类型,==和===是有区别的
(1)不同类型间比较,==之比较“转化成同一类型后的值”看“值”是否相等,===如果类型不同,其结果就是不等
(2)同类型比较,直接进行“值”比较,两者结果一样

2、对于Array,Object等高级类型,==和===是没有区别的,进行的都是”指针地址”比较,是相同的。

3、基础类型与高级类型,==和===是有区别的
(1)对于==,将高级转化为基础类型,进行“值”比较
(2)因为类型不同,===结果为false

4、举例:
var num = 1;
var str = ‘1’;
var test = 1;
test == num //true 相同类型 相同值
test === num //true 相同类型 相同值
test !== num //false test与num类型相同,其值也相同, 非运算肯定是false
num == str //true  把str转换为数字,检查其是否相等。
num != str //false == 的 非运算
num === str //false 类型不同,直接返回false
num !== str //true num 与 str类型不同意味着其两者不等,非运算自然是true

5、总结:双等号会造成类型转换,推荐一律使用三等号
== 和 != 比较若类型不同,先偿试转换类型,再作值比较,最后返回值比较结果 。而 === 和 !== 只有在相同类型下,才会比较其值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值