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

javascript中的 空串,false,和0
用javascript做验证的时候发现了一个问题
空串不大于0,可是空串大于等于0,即 alert("">0)为false,而alert("">=0)为true
(javascript中有时是把0,空串和false混用的 这句说的欠妥,多谢评论)
alert("">0); //false
alert("">=0);//true
alert(""<0);//false
alert(""<=0);//true

alert("">false); //false
alert("">=false);//true
alert(""<false); //false
alert(""<=false);//true

alert(0>false);//false
alert(0<false);//false
alert(0==false);//true

//空串也是0吗?
alert(1>"");//true
alert(1<"")//false
//false 也是0
alert(1>false);//true
alert(1<false);//false

//总而言之就是
alert(""==0);//true
alert(""==false);//true



alert(""===0); //false
alert(""===false);//false

1 楼 Copperfield 2011-01-24  
这不是混用的问题,其中包含了一个运算的规则:相等运算符判断时,其中一个是true,先转换成1(false则转换为0)再做比较。

"" == false,现将false转化为0,即:判断"" == 0。空串转换成数字0,0==0,所以
alert("" == false)显示的是true。