== 相等运算符 会对左右两边的值进行类型转换
=== 全等运算符 则不会进行类型转换
eg:
3==3 true number 3
3===3 true number 3
3=="3" true number3 == string3---->number3
3=== "3" false number 3 string 3
true == 1; true 类型转换 boolean=>1(number)
false ==0 true 同上
true === 1 false boolean number
false ===0 false boolean number
‘’ ==0 true 0表示没有,空
‘ ’ == 0 true
null == undefined true null 表示空 undefined表示未赋值 他们只能等于他们本身
null ==0 false
undefined==’‘ false
'false' == false; false
NaN == NaN; false NaN " not a number " 表示一个未定义或者不可表示的值,不等于本身 typeof NaN =number
NaN ==false; false
NaN ===false; false
var a = {}
var b = {} a,b 指向的是不同的地址
var c = a a,c 引用的是同一个地址的值
a == b false 对象为引用类型,会比较地址
a === b false
a == c true
a === c true