js判断全局环境

我们可能需要判断当前属于, window 环境, worker, 还有 node 环境等

可以使用如下代码进行判断, 拿到全局对象

js 复制代码
// The one and only way of getting global scope in all environments
// https://stackoverflow.com/q/3277182/1008999
var _global = typeof window === 'object' && window.window === window
  ? window : typeof self === 'object' && self.self === self
  ? self : typeof global === 'object' && global.global === global
  ? global
  : this

window环境下

js 复制代码
window.window === window  // true

node 环境下

js 复制代码
global.global === global // true

当然 node环境还有一个 globalThis


web worker 环境

js 复制代码
self.self === self // true
相关推荐
xkxnq2 小时前
第二阶段:Vue 组件化开发(第 16天)
前端·javascript·vue.js
Van_Moonlight2 小时前
RN for OpenHarmony 实战 TodoList 项目:空状态占位图
javascript·开源·harmonyos
xkxnq2 小时前
第一阶段:Vue 基础入门(第 15天)
前端·javascript·vue.js
BBBBBAAAAAi4 小时前
Claude Code安装记录
开发语言·前端·javascript
源码获取_wx:Fegn08954 小时前
基于 vue智慧养老院系统
开发语言·前端·javascript·vue.js·spring boot·后端·课程设计
Jing_Rainbow5 小时前
【 前端三剑客-37 /Lesson61(2025-12-09)】JavaScript 内存机制与执行原理详解🧠
前端·javascript·程序员
UIUV5 小时前
模块化CSS学习笔记:从作用域问题到实战解决方案
前端·javascript·react.js
Kakarotto5 小时前
使用ThreeJS绘制东方明珠塔模型
前端·javascript·vue.js
donecoding5 小时前
TypeScript `satisfies` 的核心价值:两个例子讲清楚
前端·javascript
Van_Moonlight6 小时前
RN for OpenHarmony 实战 TodoList 项目:顶部导航栏
javascript·开源·harmonyos