javascript获取父对象/变量的名称

标签 javascript object

<分区>

假设我有

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) 因为this在运行setInterval` 时不在正确的上下文中,而且我不想硬编码对象名称

最佳答案

不,你不能在 JavaScript 中这样做。

关于javascript获取父对象/变量的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10838032/

相关文章:

javascript - 为什么 2..toString() 有效?

iphone - 对数组内的数组使用 "replaceObjectAtIndex"

c++ - "Recreating"C++ 中的对象没有重置属性值。 (Qt)

javascript - 创建一个类似 jQuery 的对象

javascript - 对象传播运算符在 Microsoft Edge 中抛出错误

javascript - 如何升级我的 createElement 函数,使样式标签内的属性和值可以以对象而非字符串的形式编写?

javascript - mvc $ ('form' ).submit 不在部分 View 上执行

javascript - 使用 css 和图片打开新窗口

javascript - 我可以像在 JavaScript 中一样在 PHP 数组中循环吗?

javascript - 有两个对象的数组,在这些数组中,如果 ID 相同,我想匹配 ID,我需要新数组,其中包含相同 ID 的组合信息