JS中==操作符的强制类型转换规定

首选判断两者的类型是否相同,如果不相同会进行类型转换,相同的话就比较大小

转换类型

1.字符串和数字之间的相等比较,将字符串转换为数字之后再进行比较大小

1 == '1' --> 1 == 1 -->true

2.其他类型和布尔类型之间的相等比较,先将布尔值转换为数字后,在应用其他规则进行比较

true == '1' -->1 == '1'-->1 == 1-->true

3.null和undefined之间相比较,结果为真,其他值和它们进行比较都返回假值

4.对象和非对象之间的相等比较,将会对象先转为基本数据类型再进行判断

'1' == {} -->'1' == '[object object]'

5. 如果两个操作值都是对象,则比较它们是不是指向同一个对象,如果两哥操作数都指向同一个对象,则相等操作符返回true,否则返回false

var a = {};

var b = a;

var c={};

console.log(a==b);//true

console.log(a==c);//false

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值