1. 全局对象的属性是全局性定义的标识符,
可以在任何地方使用
。
2. JavaScript解释器启动后(或每次浏览器加载新页面时),都会创建一个新的全局对象并为其添加一组初始的属性,定义了:
①全局常量:undefined、Infinity、NaN
②全局函数:isNaN()、parseInt()、eval()
③构造函数:Date()、RegExp()、String()、Object()、Array()
④全局对象:Math、JSON
3. 全局对象的初始属性并不是保留字,但它们应该都被当成保留字。
4. 在
Node中,全局对象有一个名为
global的属性,其值为全局对象本身,因此在Node程序中始终可以通过global来引用全局对象。
5. 在
浏览器中,
Window对象对浏览器窗口中的所有JavaScript代码而言,充当了全局对象的角色。这个全局的Window对象有一个自引用的window属性,可以引用全局对象。Window对象定义了核心全局属性,也定义了其他一些特定于浏览器和客户端JavaScript的全局值。
6.
工作线程有自己不同的全局对象(不是Window)。工作线程中的代码可以通过
self来引用它们的全局对象。
7. ES2020最终定义了
globalThis作为在任何上下文中引用全局对象的标准方式。2020年初,所有现代浏览器和Node都实现了这个特性。