0
我想在我的應用程序中訪問全局JS範圍的所有屬性。訪問沒有DOM的全局JS上下文的屬性
沒有DOM,所以我不能使用以下命令:
for (var attr in window) {
// attr is in the global scope
}
有沒有辦法讓全球範圍JS的參考?
我想在我的應用程序中訪問全局JS範圍的所有屬性。訪問沒有DOM的全局JS上下文的屬性
沒有DOM,所以我不能使用以下命令:
for (var attr in window) {
// attr is in the global scope
}
有沒有辦法讓全球範圍JS的參考?
在非嚴格模式下,你可以使用這個得到對全局對象的引用:
var globalObj = (function(){return this}());
,如果你沒有在呼叫建立這個,則默認爲全局對象。這將在任何執行上下文中工作(但不是在嚴格模式下)。簡單的只創建一個全局變量引用全局對象:
var global = this;
,或者傳遞到IIFE:
(function (global) {
// In here, global === global object
...
}(this))
無論西裝。
+1我想知道ECMAScript是否需要'this'來引用全局執行上下文中的全局對象,並且它似乎確實如此。 http://es5.github.io/#x10.4.1.1 –
如果沒有DOM,你的環境是什麼?節點? – elclanrs
自我,這通常工作。 – dandavis
您是否有效地詢問您是否可以訪問給定執行上下文的環境記錄?如果是這樣,答案几乎是「不」。 –