English 中文(简体)
为什么这不起作用?在循环中调用对象所属的函数。
原标题:
  • 时间:2009-03-20 19:26:08
  •  标签:

在我的代码中,jsc.tools是一个包含对象的对象。每个子对象都包含一个init()和run()方法。

我有以下代码在启动时运行:

for(tool in jsc.tools) {
    tool.init();
}

这给了我一个错误:“tool.init不是一个函数”。

一个工具声明的样例是:

jsc.tools.sometool = {};
jsc.tools.sometool.run = function() {
    // Apply tool
}
jsc.tools.sometool.init = function() {
    // Set bits of data needed for the tool to run
}
最佳回答

在JavaScript中,for-in x运算符提供了对象属性的名称。请尝试:

for(tool in jsc.tools) {
    jsc.tools[tool].init();
}
问题回答

您需要使用。

for(tool in jsc.tools) {
    jsc.tools[tool].init();
}




相关问题
热门标签