首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jquery/attr参数隐性转换有关问题

2012-08-30 
jquery/attr参数隐性转换问题input typecheckbox checkedchecked value30 idtree/input ty

jquery/attr参数隐性转换问题
<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值了,
为什么我直接传参就不行?



[解决办法]
js 里面,0,undefined, 不就是false吗?

不好意思 不是

!!undefined是因为 进行了2次求值运算 并且根据运算规则 转换成了bool值

所以 以后此类问题 请动手测试 千万不要 模糊的假定
测试很简单的
alert(undefined == false)
alert(!!undefined == false)
alert(0 == false)
alert(0 === false)

热点排行