隐藏的全局对象
为了方便说明,这里全局环境是浏览器环境。
创建一个全局变量的方法最简单方法是在全局作用域下通过 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元素,第一不利于阅读,第二有可能会导致变量重名。
如果真要使用也要确保变量名的唯一性。