javascript - Global对象与window对象的区别
PHP中文网
PHP中文网 2017-04-11 11:00:34
[JavaScript讨论组]

求解Global对象与window对象的区别

这样理解对不对:window是Global对象在浏览器中的体现,在浏览器中,window对象代表了Global对象?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
伊谢尔伦

在浏览器里,非严格模式下(印象中必须是这个),global等于window

所以global对象指的是什么,取决于运行环境。更像是个抽象概念,window就很具体了,就是浏览器的一个web api

PHPz

global 是 javascript 运行时所在宿主环境提供的全局对象,是一个 Object。目前来说最常见的宿主环境是浏览器和 nodejs,浏览器暴露了一系列操作 DOM, Location, History 等 Api 供 Js 调用(即 window 对象)而 nodejs 里则没有浏览器里的 DOM 等,可以运行 for (var i in global){console.log(i)} 查看这个全局对象提供的方法,如 process, buffer 这些 nodejs 的资源。

另外,宿主环境内所有的内建或自定义的变量/函数全局都是 global 这个全局对象的属性/方法。

巴扎黑

刚才又去ECMA官方文档看了一下,文档里是这么说的。

In addition to the properties defined in this specification the global object may have additional host defined properties. This may include a property whose value is the global object itself; for example, in the HTML document object model the window property of the global object is the global object itself.

按照我的理解,大概意思就是global本身包含了一个属性,这个属性的值就是global本身。而在HTML DOM 中,这个属性就是window
简单来说,在HTML DOM中,window就是global

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

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