if(xx)和 a==b的判断

if(xx)的判断

if通过布尔值判断结果,如果表达式为真执行第一个代码块内语句,如果为假执行第二个代码块内语句,其中condition可以是任意表达式,当condition不为布尔值时,会将condition强制转换为布尔值.

Number为+0, −0,或者 NaN 时为 false,其他为 true;
String是空字符串为 false,其他都为 true;
转换为布尔值后if通过结果的false或true判断是输出还是执行下一个语句。

a==b的判断

一、a和b的数值和类型都相同时

a==b,当a和b的数值和类型都相同时,严格的执行相等的运算。

二、当a和b的数值类型不相同

a==b,当a和b的数值类型不相同时:
1.如果a和b一个是null,一个是undefined时,相等。
2.如果a和b一个是数字,一个是字符串,先将字符串转为数字,然后比较。
3.如果a和b一个值是true,一个值是false则将其转为1和0比较。
4.如果a和b一个值是对象,一个是数字或字符串,则尝试使用valueOf和toString转换后比较。
5.其它情况都不相等。

你可能感兴趣的:(if(xx)和 a==b的判断)