浏览器javascript里的window到底是个什么东西
怪我咯
怪我咯 2017-04-10 12:42:48
[JavaScript讨论组]

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

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

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
ringa_lee

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

高洛峰

ECMA中的全局对象,window就是各浏览器对这个对象实现,然后各家还添加了一些别的内容,全局作用域下的任何变量都是window的属性,或者方法。
参见ECMA 第三版 10.1.5 全局对象

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号