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
相关推荐
不爱学英文的码字机器34 分钟前
[操作系统] 环境变量详解
开发语言·javascript·ecmascript
Lysun00138 分钟前
vue2的$el.querySelector在vue3中怎么写
前端·javascript·vue.js
工业甲酰苯胺1 小时前
深入解析 Spring AI 系列:解析返回参数处理
javascript·windows·spring
NoneCoder3 小时前
JavaScript系列(38)-- WebRTC技术详解
开发语言·javascript·webrtc
python算法(魔法师版)3 小时前
html,css,js的粒子效果
javascript·css·html
小彭努力中4 小时前
16.在Vue3中使用Echarts实现词云图
前端·javascript·vue.js·echarts
flying robot4 小时前
React的响应式
前端·javascript·react.js
来一碗刘肉面4 小时前
Vue - ref( ) 和 reactive( ) 响应式数据的使用
前端·javascript·vue.js
guhy fighting5 小时前
原生toFixed的bug
前端·javascript·bug
约定Da于配置10 小时前
uniapp封装websocket
前端·javascript·vue.js·websocket·网络协议·学习·uni-app