访问没有DOM的全局JS上下文的属性

时间:2013-06-05 21:41:44

标签: javascript dom global-variables

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

var global = this;

或将其传递给IIFE:

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

无论什么都适合。