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

相关推荐