如何在此对象中调用每个函数?

var obj = {
  hey1: function() {
    alert('hey');
  },
  hey2: function() {
    alert('hey2');
  },
  hey3: function() {
    alert('hey3');
  }
}

我希望每个函数都可以一个接一个地运行。我正在寻找类似的东西:
for (var hey in obj) {
  hey();
}

但这显然无法运行(否则我不会问这个问题)。

谢谢你们!!!

最佳答案

for (var hey in obj) {
    obj[hey]();
}

在无法保证每个属性都是一个函数的情况下,可以淘汰其他属性:
for (var hey in obj) {
    if (typeof obj[hey] == "function") {
        obj[hey]();
    }
}

要将其进一步限制为仅对象的直接属性(而不是对象的原型(prototype)继承属性):
for (var hey in obj) {
    if (typeof obj[hey] == "function" && obj.hasOwnProperty(hey)) {
        obj[hey]();
    }
}

关于javascript - 调用文字对象(Javascript)中的每个函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4859644/

10-12 19:17