可以说我有
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
setInterval`is not in the right context when
运行,我不想让对象名硬编码