var myObject = {
'myFunction' : function() {
// something here that lets me get 'myObject'
}
}
我已經試過這裏的東西一樣找到各種this.constructor.name
的功能,但我總是得到「對象」的返回值。在這種情況下,有沒有辦法獲得變量的實際名稱?
編輯說明爲什麼所以也許人們會更好地理解......我希望能夠使用setInterval連續調用一個函數。事情是這樣的:
var myObject = {
'intval' : '',
'timeout' : 500,
'start' : function() {
this.objectName = 'myObject'; // <--I want this to be dynamically popped
this.intval=window.setInterval("window['"+this.objectName+"'].myFunction()",this.timeout);
},
'stop' : function() {
window.clearInterval(this.intval);
this.intval='';
},
'myFunction' : function() {
// do something
}
}
,如果我硬編碼「myObject的」以this.objectName,但我不希望它被硬編碼這一切正常。問題是我不想做setInterval("window[this.objectName]",100) because
這個is not in the right context when
setInterval`運行,我不想讓對象名硬編碼
您是否在尋找類似'this'的東西,這是一種引用該對象的方式? – helpermethod
不,我不是在尋找一個對象引用,我正在尋找對象的實際名稱 – slinkhi
對於編輯的問題:start:function(){ var that = this; this.intval = setInterval(function(){ that.myFunction(); },this.timeout); }, – jasssonpet