我们可能需要判断当前属于, 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