什么是javascript全局对象_浏览器与Node环境有何不同?

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

什么是javascript全局对象_浏览器与Node环境有何不同?-第1张图片-佛山资讯网

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,比如 documentlocationfetchsetTimeout 等,它们都是 window 的属性或方法。

Node.js 中的全局对象是 global

Node.js 没有 DOM,也不需要窗口概念,它的全局对象叫 global

立即学习“Java免费学习笔记(深入)”;

标签: javascript java js node.js json node 浏览器 工具 win 区别 作用域

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~