if (xx) 的判断
JS的if语句会先对括号内的表达式求值,然后将表达式的结果转换为boolean类型再做判断。转换成boolean类型时遵循下列规则:
- 如果表达式的值是一个对象,返回true
- 如果表达式的值是一个空字符串,返回false
- 如果表达式的值是一个非空字符串,返回true
- 如果表达式的值是数值0,或NaN,返回false
- 如果表达式的值是任意非零数值(包括Infinity),返回true
- 如果表达式的值是null,返回false
- 如果表达式的值是undefined,返回false
相等操作符 ==
JavaScript中有两种相等运算符,==和===
当两个操作数的类型相同时,==和===没有什么区别,
当两个操作数的类型不同时,===会直接返回false,而==会先转换操作数的类型,再比较它们是否相等。