猿问

浏览器javascript里的window到底是个什么东西

在写JS时有个非常特殊的变量叫window,我非常疑惑它是怎么实现如下功能的


<script>

function test () {

    alert('test');

}


// 居然就自动绑定到window里了

window.test();

</script>

看上面的代码,随便在顶层也就是非闭包中定义的function,都会默认被绑定到window这个对象相应的元素内。这个东西符合js规范吗?因为这看起来就像是其它语言里的命名空间,但是JS里能实现这种东西吗?


牧羊人nacy
浏览 655回答 4
4回答

12345678_0001

window对象是由js的宿主环境浏览器提供的,跟js语言本身无关。浏览器初始网页的时候会自动创建一个window对象,解析网页中的js代码的时候会将全局变量和函数绑定到window对象上。个人观点,仅供参考
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答