if对于括号内true/false的判断
- 对于数字来说,0、0.0、-0.0会被判为false,其余非零数字都会判为true
- 对于布尔类型直接判断即可
- 对于字符串来说,空字符串会被判为false,非空字符串会被判为true,空格为非空字符串
- 对象都会判为true
- null、undefined都会被判为false
a == b返回值的判断
主要思想将a,b都转换成数字
对于布尔变量存在如下等价关系:
0 == false //返回true
1 == true //返回true
2 == true ///返回false
对于字符串,能转换成数字的就转换成数字,包含字母就不能转换成数字了
对于undefined
null
只有这两个彼此之间 == 时才返回true,否则和任何其他类型的任何值都不会返回true
对于对象,先尝试调用 .valueOf 方法获取结果。 如果没定义,再尝试调用 .toString方法获取结果