1.相等判断
if(a){}
相当于if(a == ture){}
然而下面的相等判断都为true
0 == false"" == false"false" == falseundefined == falsenull == false
假设你有一个需求,根据后端返回显示数字。
如果返回null
,显示-1
。
你写下如下代码:
if(a){ ???return a;}else{ ???return -1;}
这段代码有问题,问题是a==0
时,返回-1,而不是返回0
2.new Date
new Date(null) //Thu Jan 01 1970 08:00:00 GMT+0800 (CST)。new Date(0) // Thu Jan 01 1970 08:00:00 GMT+0800 (CST)new Date(false) ?// Thu Jan 01 1970 08:00:00 GMT+0800 (CST)new Date(undefined) // Invalid Datenew Date('') ?//Invalid Date。
对于 new Date的传参,需注意特别判断。
由1、2可知JS里面做判断,需===
或者把其它异常值转换为一个异常值是较好的实践。