a==b
做相等运算时,一般倾向于将不同的数据类型都转化为数值,或是转化为相同的数据类型.
如果两个值类型相同,则执行严格相等的运算
如果两个值的类型不同
如果一个是null,一个是undefined,那么相等
如果一个是数字,一个是字符串,先将字符串转为数字,然后比较
如果一个值是true/false则将其转为1/0比较
如果一个值是对象,一个是数字或字符串,则尝试使用valueOf和toString转换后比较
其它就不相等了
关于if()
if后的括号里的表达式会被强制转换为布尔类型
在这里强烈推荐大家使用
===
严格相等,不会出错。
记住五个false值0
null
undefined
空字符串
NaN
。