JavaScript全局对象在浏览器中为window,在Node.js中为global,差异源于宿主环境不同;ES2020引入globalThis实现跨环境统一访问。

JavaScript 全局对象是所有全局变量和函数的宿主,但它在浏览器和 Node.js 环境中并不相同——根本原因在于它们运行在不同的宿主环境中,各自暴露的 API 和默认绑定的对象不同。
浏览器中的全局对象是 window
在浏览器里,全局对象就是 window。你在全局作用域声明的 var 变量、函数,或直接挂载的属性,都会成为 window 的属性:
-
var a = 1;→window.a === 1(严格模式下用let/const声明的不会挂载) console.log === window.console.log-
this在全局脚本中指向window
此外,浏览器还提供大量以 window 为起点的 Web API,比如 document、location、fetch、setTimeout 等,它们都是 window 的属性或方法。
Node.js 中的全局对象是 global
Node.js 没有 DOM,也不需要窗口概念,它的全局对象叫 global:
立即学习“Java免费学习笔记(深入)”;
标签: javascript java js node.js json node 浏览器 工具 win 区别 作用域
还木有评论哦,快来抢沙发吧~