用if判断和==比较

if条件判断和相等判断

条件判断

在使用if()去判断一个数值的时,表达式求值后, js会自动将此值(这个值可以不是布尔值) 转换为布尔值。比如if(’’){console.log(‘1’)},因为空字符是false。所以不会执行后面,将条件中’'转换成布尔值。这里可以需要注意哪些会转换成true,哪些转换成false。需要注意几点,===和= =和=的区别。全等符号在判断的时候类型和数值都相等才会ture,= =会将=转换成数值比较。

相等判断

相等 == 在比较操作数时通常会进行“强制类型转换”在进行比较
转换规则是尽量往数值上转换(一般体现在两边操作数类型不同时,对象和NaN见下面),具体遵循以下规则:
其中一个操作数是布尔值的话,将布尔值转换为数值,true为1 , false 为 0
如果有一个字符串,另一个操作数是数字,将字符串转换为数值,字符串" 2" 转换为 2, 字符串"a" 转换为 NaN
如果有一个操作数是对象,调用其valueOf()方法(此方法返回对象的字符串、数值或布尔值表示,通常与toString()方法返回值相同),再依照上面所述进行基本类型转换

猜你喜欢

转载自blog.csdn.net/qq_39567879/article/details/88650962