<input type="checkbox" checked="checked" value='30' id='tree'/><input type="text">
<script>
   $("#tree").attr('checked',0);
</script>
传0不能改变checked,false可以,undefined不行。
js 里面,0,undefined, 不就是false吗?
后来我试过   “!!0”,“!!undefined”可以改变checked值了,
为什么我直接传参就不行?

解决方案 »

  1.   

    js 里面,0,undefined, 不就是false吗?不好意思 不是!!undefined是因为 进行了2次求值运算 并且根据运算规则 转换成了bool值所以 以后此类问题 请动手测试 千万不要 模糊的假定
    测试很简单的
    alert(undefined == false)
    alert(!!undefined == false)
    alert(0 == false)
    alert(0 === false)
      

  2.   

    我刚试过alert打印了。貌似对什么时候隐性有点懂了。谢谢2L的“2次求值运算”,3Q!