document.all

<html>   
<head>  
<script> 
var x=false;
x=document.all;
document.write(x);
</script>
</head>   
<body></body>   
</html>  
返回object

对于IE来说,document.all可以判断,原因是:
确定在当前浏览器中的document对象是否有all这个属性,这个属性值就是当前页面的所有的元素了,那么显然all是一个object,可以这样理解:
document.all = {ele1:, ele2:, .... ...};
那么你想访问一个div ,id=div1,就可以document.all.div1

那么其他浏览器中,document没有all这个属性,没有也就是未定义,即是:
document.all = undefined;
就像你用var a;声明一个a,但是a始终没有值一样,

最后到了if里面,if在运算的时候,会把括号里面的表达式值试图转换成boolean类型,

显然,对于IE,document.all是存在的那么 就为真的,但是你用write方法,那么这个对象就试图将自己转换成string类型,但是结果不如人意,每次都是转换成[object Object]这个东西,

对于其他浏览器,这个就是undefined,这个转换成boolean就是false了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值