==和===

==和===

1、对于string,number等基础类型,==和===是有区别的

  • 不同类型转换为同一类型的值
  • 比较值

    === 需要比较类型和值

2、对于Array,Object等高级类型,==和===是没有区别的

对存储指针进行比较

3、基础类型与高级类型,==和===是有区别的

1)对于==,高级类型转换为基础类型值,后比较值

1
2
var a = []
a == 0 //true => Number(a) == 0

2)=== ,因为类型不同结果为false