全局对象是始终存在于全局范围中的对象。在JavaScript中,始终定义一个全局对象。
是否可以有多个全局对象?当MDN不这么说时,为什么人们说Window是全局对象?
答案 0 :(得分:2)
每个浏览器窗口都有一个顶级Window
对象,通常称为全局对象。可通过window
变量访问全局对象。
该对象公开了许多属性,最重要的是document
也是对象,方法和事件。
开发人员可以定义(通过脚本)变量(var
和function
,它们将自动成为window
( global )对象的属性和方法(前提是它们是在最高(全局)级别上声明。
例如,表达式var a = 1;
声明一个名为a
的变量(并为其分配数值)。可通过其名称(a
和window.a
和window['a']
来访问此变量。
可以省略对全局window
对象的引用,因此window.a = 2;
和a = 2;
是等效的(但不是['a'] = 2;
,这是语法错误)。
另请注意,全局window
对象属于浏览器窗口,而不是javascript。浏览器仅将其暴露到脚本引擎。
这是javascript
的基础。
我希望这种解释能消除您的困惑。