调用文字对象中的每个函数(Javascript)

Nat*_*han 2 javascript iteration object

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

var obj = {
  hey1: function() {
    alert('hey');
  },
  hey2: function() {
    alert('hey2');
  },
  hey3: function() {
    alert('hey3');
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望每个函数都能一个接一个地运行.我正在寻找类似的东西:

for (var hey in obj) {
  hey();
}
Run Code Online (Sandbox Code Playgroud)

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

多谢你们!!!

Ate*_*ral 7

for (var hey in obj) {
    obj[hey]();
}
Run Code Online (Sandbox Code Playgroud)

在无法保证每个属性都是函数的情况下,您可以清除其他属性:

for (var hey in obj) {
    if (typeof obj[hey] == "function") {
        obj[hey]();
    }
}
Run Code Online (Sandbox Code Playgroud)

进一步将其限制为仅对象的直接属性(而不是从其原型继承的属性):

for (var hey in obj) {
    if (typeof obj[hey] == "function" && obj.hasOwnProperty(hey)) {
        obj[hey]();
    }
}
Run Code Online (Sandbox Code Playgroud)