首页 > Web开发 > 详细

JS中的==和===

时间:2020-02-20 19:37:12      阅读:72      评论:0      收藏:0      [点我收藏+]

==比较规则

参数1参数2转换规则
布尔值其它布尔值转为数值:false转为0,true转为1
字符串数值将字符串转为数值类型
对象不是对象调用对象的valueOf()或者toString()方法转换为基本数值类型在进行比较
nullundefined相等
null或者undefined其它类型不将null/undefined转换为其它的任意类型,始终返回false
NaNNaN或其它始终不相等
对象对象比较他们是不是同一个对象,即引用地址是否一样

[] == true
{} == true
[] == [] false 都是对象,但是引用地址不一样
{} == {} false 都是对象,但是引用地址不一样
0 == [] true []在比较前转为0,所以结果为true
[] == [] true []转为false,-->0==[]-->0==[].toString()=""-->0==""-->0==0
!{}=={} false !{} 转为false,-->0=={}-->0==({}).toString()="[object object]"-->0==NaN

===比较规则

类型相等,且值相等,不会做任何转换
注意NaN不与任何值相等,包括他本身

JS中的==和===

原文:https://www.cnblogs.com/ailingstar/p/12336666.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!