日期:2014-05-16  浏览次数:20325 次

关于js判断时的一个心得

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"也是真)。?