Почему это не работает? Вызов функций, принадлежащих объектам в цикле - PullRequest
0 голосов
/ 20 марта 2009

В моем коде 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
}

Ответы [ 2 ]

5 голосов
/ 20 марта 2009

Оператор for in x в javascript выдает имена свойств объекта. Попробуйте:

for(tool in jsc.tools) {
    jsc.tools[tool].init();
}
0 голосов
/ 20 марта 2009

вам нужно использовать

for(tool in jsc.tools) {
    jsc.tools[tool].init();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...