转载自:http://www.blogjava.net/algz/articles/371885.html
javascript中的 空串,false,和0
包含了一个运算的规则:相等运算符判断时,
其中一个是true,先转换成1(false则转换为0)再做比较。
"" == false,现将false转化为0,即:判断"" == 0。
空串转换成数字0,0==0,所以
alert("" == false)显示的是true。
转载自:http://stardust1900.iteye.com/blog/348896
用javascript做验证的时候发现了一个问题
空串不大于0,可是空串大于等于0,即 alert("">0)为false,而alert("">=0)为true
(javascript中有时是把0,空串和false混用的 这句说的欠妥,多谢评论)
这不是混用的问题,其中包含了一个运算的规则:相等运算符判断时,其中一个是true,先转换成1(false则转换为0)再做比较。
"" == false,现将false转化为0,即:判断"" == 0。空串转换成数字0,0==0,所以
alert("" == false)显示的是true。
空串不大于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
"" == false,现将false转化为0,即:判断"" == 0。空串转换成数字0,0==0,所以
alert("" == false)显示的是true。