为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript中的==与===的区别

标签:
Java Html/CSS

先看一个例子

alert(0 == "");

运行结果是啥?

回答是0==的同学真心可以洗洗睡了...

回答是false的同学还是很有必要继续读下去的...

答案是true,注意不是'true'也不是"true"

OK,为啥呢,很简单,JS中==会先转换类型,然后再判断值是否相等。

刚刚那个""是字符串类型,而0是数字类型,所以先把""转换为数字类型,正好""对应的数字类型为0,所以左右相等了,所以结果为true。

以下的情况也都是true,因为在判断之前先转换了类型。

0 == ""
0 == false
"" == false
1 == "1"
"1"==true

OK,那么有时候啊,这种逻辑其实不大对。空字符串跟假有什么关系呢?==这种运算符也太不严谨了,哈哈,没关系哦,JavaScript中还有一个强大的运算符===,强大之处在于,===先判断类型是否一样,如果两边类型不同,直接就返回false,如果类型相同的情况,在去判断值,所以在大多数情况下,===才是我们想要的那个等于

例如:

1 == "1" // 判断结果为真
alert(1 === "1"); // 判断结果为假,因为一上来,类型就不同

所以需要对JavaScript类型加以了解,就能准确的判断到底是真,还是假。

OVER。

点击查看更多内容
3人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件工程师
手记
粉丝
1.5万
获赞与收藏
1523

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消