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
相关推荐
是Yu欸3 分钟前
LangGraph 智能体状态管理与决策
java·javascript·数据库
齐鲁大虾9 分钟前
如何在HTML/JavaScript中禁用Ctrl+C
前端·javascript·html
qq_4061761425 分钟前
深入浅出 Vue 路由:从基础到进阶全解析
前端·javascript·vue.js
紫金修道1 小时前
【OpenClaw】让openclaw根据需求创造自定义skill记录
前端·javascript·chrome
嘉琪0011 小时前
Day6 完整学习包(async/await)——2026 0318
前端·javascript·学习
css趣多多1 小时前
# Vue 3 `<script setup>` 中变量声明的正确姿势:何时必须使用 `ref()`?
前端·javascript·vue.js
kyriewen111 小时前
Sass:让 CSS 从手工作坊迈入工业时代
前端·javascript·css·html·css3·sass·html5
冰暮流星1 小时前
javascript之变量作用域
开发语言·前端·javascript
lxh01131 小时前
嵌套数组生成器题解
开发语言·javascript·ecmascript
Dxy12393102162 小时前
DrissionPage使用js点击:突破常规交互限制的“隐形手”
开发语言·javascript·交互