JavaScript中"=="和"==="的区别

      在JavaScript中“==”和“===”分别有什么作用?

      “==”是等同,相等;而“===”是恒等于。

      “==”两边值类型不相等时,需要先进行类型转换,然后进行比较。

       “===”,不作类型比较,类型不同一定不同。

       怎样判断“===”什么时候为true,也就是什么时候恒等于。

  1. 类型不同,不相等。
  2. 如果两个值都是数值,并且是同一个值,相等。
  3. 如果两个值都是字符串,每个位置的字符都一样,相等。
  4. 如果两个值都是true或者false,相等。
  5. 如果两个值都引用同一个对象或函数,相等。
  6. 如果两个值都是null,或者都是undefined,相等。

    怎样判断“==”什么时候为true?

  1. 如果两个值的类型相等,则根据“===”的条件来判断。
  2. 如果两个值的类型不相等,他们也可能相等:   

               a:如果一个是null,一个是undefined,相等;

               b:如果一个是字符串,一个是数值,把他的字符串转换为数组后在比较。

               c:如果任一值是true,把它转换为1在比较;如果任一值是false,把它转换为0再比较。

               d:如果一个是对象,另一个是数值或字符串,把对象转换成基础类型的值再比较。(使用toString()和valueOf()转换)

var a = 1;
var b = true;
console.log(a===b);
console.log(a==b);
var c = null instanceof Object;
var d = 0;
console.log(c===d);
console.log(c==d);

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值