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
相关推荐
发渐稀几秒前
vue项目引入tailwindcss
前端·javascript·vue.js
青花雅月4 分钟前
封装标记📌前后数据比较的表格
前端·javascript
会飞的鱼先生1 小时前
javascript中Cookie、BOM、DOM的使用
前端·javascript·chrome
一抓掉一大把2 小时前
MiniExcel模板填充Excel导出
开发语言·javascript·ecmascript
Jiaberrr2 小时前
uniapp 安卓 APP 后台持续运行(保活)的尝试办法
android·前端·javascript·uni-app·app·保活
不老刘2 小时前
uniapp+vue3实现CK通信协议(基于jjc-tcpTools)
前端·javascript·uni-app
vanora11113 小时前
Vue在线预览excel、word、ppt等格式数据。
前端·javascript·vue.js
溪饱鱼3 小时前
React源码阅读-fiber核心构建原理
前端·javascript·react.js
xiaogg36784 小时前
网站首页菜单顶部下拉上下布局以及可关闭标签页实现vue+elementui
javascript·vue.js·elementui
胡gh4 小时前
JS面向对象程序设计(OOP)与原型机制,到底是如何一步步走向实用的
javascript