В этом коде я создаю массив объектов и пытаюсь их пропустить, вызывая метод на каждом из них. Этот метод является частью прототипа объектов.Метод объекта не запускается в цикле
Вот установка:
function TestObj(name) {
this.name = name;
}
TestObj.prototype.speak = function() {
console.log(this.name);
};
var myArray = [
new TestObj('first'),
new TestObj('second')
];
Я знаю, что я могу получить доступ к методам правильно, потому что это дает правильный результат:
myArray[0].speak(); // displays "first"
Однако, оба цикла я пытался не будет ничего выводить :
for (var i = 0; i < myArray.length; i++) {
myArray[i].speak();
}
for (var key in myArray) {
key.speak();
}
Ваш первый цикл работы: https://jsfiddle.net/k1h67p1e/. В вашем втором случае вам нужно будет сделать 'myArray [key] .speak();' – blex
@blex, странно, netBeans ничего мне не показывает ... –
Ок, похоже, проблема с IDE NetBeans , Если я открою Chrome Dev Tools, он отобразится на консоли там, но он не отображается в журнале браузера Net Beans. Спасибо вам за помощь. –