關於我經常構建JavaScript項目的基本JavaScript對象示例。我正在尋求一些幫助。訪問JavaScript根級對象THIS關鍵字值
在我的TestApp.init()
函數中,我將這個函數稱爲this.cache.cacheFuncOne();
,這是另一個函數,它在另一個名爲cache
的對象內層次更深。
Inside this.cache.cacheFuncOne();
我嘗試訪問主對象this.prop1
上的屬性,導致未定義。
當我訪問this.prop1
從其他嵌套在另一個對象中不是1級更深的函數中訪問this.prop1
時,它會按預期方式工作並顯示值。
所以我開始意識到,在cache{}
對象中,this
關鍵字與根級別對象上的this
值不同。
基於這個簡單的演示,我將如何訪問下面的cache{}
對象內的根級別this
值?
var TestApp = {
prop1: 'property1',
init: function() {
this.cache.cacheFuncOne();
alert(this.prop1);
},
funcOne: function() {
},
funcTwo: function() {
},
cache: {
cacheFuncOne: function() {
alert(this.prop1);
},
}
}
TestApp.init();
由於它是單例對象,所以使用'TestApp.prop1'。 –
我想你可以使用.bind(this)來獲得父範圍的這個值。 –