0

我想在我的应用程序中访问全局 JS 范围的所有属性。

没有DOM,所以我不能使用以下内容:

for (var attr in window) {
  // attr is in the global scope
}

有没有办法获得对全局 JS 范围的引用?

4

1 回答 1

2

在非严格模式下,您可以使用this获取对全局对象的引用:

var globalObj = (function(){return this}());

好像您没有在调用中设置一样,它默认为全局对象。这将适用于任何执行上下文(但不适用于严格模式)。更简单地创建一个引用全局对象的全局变量:

var global = this;

或将其传递给 IIFE:

(function (global) {
  // In here, global === global object
  ...
}(this))

什么都适合。

于 2013-06-05T21:55:27.843 回答