(1)==比较,它会自动转换数据类型再比较
(2)===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较值。
NaN这个特殊的Number与所有其他值都不相等,包括它自己
NaN === Nan // false
null表示一个“空”的值,它和0以及空字符串''不同,0是一个数值,''表示长度为0的字符串,而null表示“空”
undefined表示值未定义
需要特别注意的是,字符串是不可变的,如果对字符串的某个索引赋值,不会有任何错误,但是,也没有任何效果:
var s = 'Test';
s[0] = 'X';
alert(s); // s仍然为'Test
JavaScript把null、undefined、0、NaN和空字符串''视为false,其他值一概视为true,因此上述代码条件判断的结果是tru