如何理解JavaScript中的两个等号(==)

2025-11-03 20:25:18

1、对象==对象:不一定相等

对象比较时, 使用对象的地址进行比较, 如果地址一样则相同, 否则不相同

因为对象操作的是引用地址,地址不相同则不相等

2、两个对象, 分别属于不同的堆空间, 地址不一样

如何理解JavaScript中的两个等号(==)

3、两个如下对象, 如果地址相同, 则相同

如何理解JavaScript中的两个等号(==)

4、大部分都是先转换为数字, 在进行比较

对象==数字:把对象转换为数字

对象==布尔:把对象转换为数字,把布尔也转换为数字

对象==字符串:把对象转换为数字,把字符串也转换为数字

字符串==数字:字符串转换为数字

字符串==布尔:都转换为数字

布尔==数字:把布尔转换为数字

如何理解JavaScript中的两个等号(==)

5、特殊情况

null==undefined:true

null===undefined:false

null&&undefined和其它值都不相等

NaN==NaN:false, NaN和谁都不相等包括自己

6、特殊情况: ![ ]转换为bool为false

[ ]==true:false, 都转换为数字 0==1

![ ]==true:false, 先算![ ], 把数组转换为布尔取反=>false  =>false==true

[ ]==false:true, 都转换为数字 0==0

![ ]==false:true, 先算![ ], 把数组转换为布尔取反=>false  =>false==false

7、举例: 一边是数字, 一边是字符串, 会先尝试把字符串转换为整数, 然后进行比较

代码

如何理解JavaScript中的两个等号(==)

8、效果: 先把字符串b转换为数字, 然后进行比较

如何理解JavaScript中的两个等号(==)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢