JavaScript中,“==="是全同运算符

[color=darkred] 当两个运算数的类型不同时:[/color]
将他们转换成相同的类型, 1)一个数字与一个字符串,字符串转换成数字之后,进行比较。
  2)true转换为1、false转换为0,进行比较。
  3)一个对象、数组、函数 与 一个数字或字符串,对象、数组、函数转换为原始类型的值,然后进行比较。(先使用valueOf,如果不行就使用toString)
  4)其他类型的组合不星等。
 [color=red] 想两个运算数类型相同,或转换成相同类型后:[/color]
  1)2个字符串:同一位置上的字符相等,2个字符串就相同。
  2)2个数字:2个数字相同,就相同。如果一个是NaN,或两个都是NaN,则不相同。
  3)2个都是true,或者2个都是false,则相同。
  4)2个引用的是同一个对象、函数、数组,则他们相等,如果引用的不是同一个对象、函数、数组,则不相同,即使这2个对象、函数、数组可以转换成完全相等的原始值。
  5)2个null,或者2个都是未定义的,那么他们相等。
  而“===”是全同运算符,全同运算符遵循等同运算符的比较规则,但是它不对运算数进行类型转换,当两个运算数的类型不同时,返回false;只有当两个运算数的类型相同的时候,才遵循等同运算符的比较规则进行比较。
  例如:null==undefined 会返回真 , 但是null===undefined 就会返回假!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值