隐藏的全局对象

为了方便说明,这里全局环境是浏览器环境。

创建一个全局变量的方法最简单方法是在全局作用域下通过 var命令,但是也可以通过global(全局)来创建,因为是浏览器,这里全局为window。

var a = 10;
b = 20;
window.a;//10
window.b;//20

这里js引擎会帮我们创创建一个全局变量b,可以通过严格模式限制。

 

不过除了上面说的实际上还有一个因为历史原因而存在的全局对象。

在创建带有id的DOM元素,会自动添加到全局对象,例如

<div id="div"></div>
<script>
console.log(typeof div); //object
</script>

可以看到上面通过console.log()来打印div元素,这里返回undefined,就是因为全局环境下自动窗口了这个id为“div”的变量。

通过id的DOM元素,可以可以很方便使用DOM上的一些方法。

console.log(div.nodeType); //1
console.log(div.nodeName); //DIV
//...

 

不过我们应该避免使用id的DOM元素,第一不利于阅读,第二有可能会导致变量重名。

如果真要使用也要确保变量名的唯一性。

转载于:https://www.cnblogs.com/boses/p/9587762.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值