js变量为0时与空字符串比较为什么为true

小主遇到一个bug

                            <ul class="radioUL">
                    <li class=" mR30 editstatus" value="1"><i></i>启用</li>
                    <li class="editstatus" value="0"><i></i>用户禁用</li>
                    </ul>


$(".editstatus").each(function (){
   if($(this).hasClass("act")){
	status=$(this).val();	
    }	
});
if(status == ""){
alert("请输入值:")
}


发现当status == 0时 该判定为true

总结该知识点:
        在javascript中以下命名的变量全部都是false
      var s = "",, i = 0, b = false, n = null, undefined;
      在 JavaScript 里,null,0,””,false,和 undefined 全部彼此相等(==),因为它们的计算值都为 ‘false

猜你喜欢

转载自lovemojienv.iteye.com/blog/2346678