Global对象与window对象的区别

x_hola
  • 666

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

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

回复
阅读 7.6k
3 个回答
Mr_Betty
  • 1k

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏