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
相关推荐
罗_三金19 分钟前
前端框架对比和选择?
javascript·前端框架·vue·react·angular
Fan_web1 小时前
JavaScript高级——闭包应用-自定义js模块
开发语言·前端·javascript·css·html
叫我:松哥1 小时前
基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
javascript·后端·python·mysql·信息可视化·flask·bootstrap
好名字08212 小时前
monorepo基础搭建教程(从0到1 pnpm+monorepo+vue)
前端·javascript
c#上位机2 小时前
C#事件的用法
java·javascript·c#
万物得其道者成3 小时前
React Zustand状态管理库的使用
开发语言·javascript·ecmascript
小白小白从不日白3 小时前
react hooks--useReducer
前端·javascript·react.js
下雪天的夏风3 小时前
TS - tsconfig.json 和 tsconfig.node.json 的关系,如何在TS 中使用 JS 不报错
前端·javascript·typescript
diygwcom3 小时前
electron-updater实现electron全量版本更新
前端·javascript·electron
volodyan3 小时前
electron react离线使用monaco-editor
javascript·react.js·electron