日期:2014-05-16 浏览次数:20325 次
js中,许多人写程序时,喜欢偷懒。
?
比如一个判断,往往人们会这样写,If(screenFlag){}
?
不管screenFlag是不是bool型的。
?
然而这样做的后果是非常严重的。
?
因为只有数字或者bool型才能这样写,而如果一旦是字符串的话,那么这个等式恒成立!
?
即如果screenFlag="0",或者screenFlag="false"时,js一律认为screenFlag=true;
?
但如果是空串的话,js认为是false;
?
所以我觉得无论什么情况下,都显式得写出来比较好!
?
形如:if (screnFlag==true)或者if(screenFlag=="0")
?
PS:和C语言有点类似,C语言中,非0即为真。
而在JS中,非空即为真。空指:"",undefined,0,null.其他情况全均为真("0"也是真)。?