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

if(xx)

使用 if 语句来规定假如条件为 true 时被执行的 JavaScript 代码块。

语法

注释:if 使用小写字母。大学字母(IF 或 If)会产生 JavaScript 错误。

if (条件) {
    如果条件为 true 时执行的代码
}
实例

如果时间早于 18:00,则发出 "Good day" 的问候:

if (hour < 18) {
    greeting = "Good day";
}

如果条件内没有判断时,看是否能转换为true,如果可以就执行if内的代码块

if (hour) {
    greeting = "Good day";
}




a==b

我们知道可以使用==或===判断两个值的相等性,其中区别相信大家清楚,===是严格意义的相等,只需注意NaN和NaN不等就行了。而使用==的时候,javascript会帮我们做类型转换,造成一些匪夷所思的结果,那么使用==的时候会在哪些情况下做类型转换,又会换成什么样子?

如果两个值类型相同,则执行严格相等的运算
如果两个值的类型不同
  1.如果一个是null,一个是undefined,那么相等
  2.如果一个是数字,一个是字符串,先将字符串转为数字,然后比较
  3.如果一个值是true/false则将其转为1/0比较
  4.如果一个值是对象,一个是数字或字符串,则尝试使用valueOf和toString转换后比较
  5.其它就不相等了

null==undefined;
NaN==NaN
"1"==true







文章内容参考来自W3C和饥人谷

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