Пример яваскрипт кода:Поиск по массиву объектов, свойства объектов, которые не определены?
function a() {
this.array1 = [];
this.addToArray = function(name) {
this.array1.push(new b(name));
return true;
}
this.searchForName = function(name) {
for(var i in this.array1) {
alert(i.name);
}
}
function b(name) {
this.name = name;
}
}
Я включил этот файл JavaScript в HTML-документе. Внутри тегов скрипт HTML-документа, у меня есть этот код:
var myObject = new a();
myObject.addToArray("test1");
myObject.searchForName("test1");
Запуск этого кода, я бы ожидать предупреждение с "test1"
в нем всплывают, но вместо этого она всплывает как неопределенные. Отладчик в Chrome, однако, показывает, что внутри myObject есть массив с элементом 0, который имеет имя "test1"
. Когда я использую точки останова для проверки кода, это показывает, что в момент вызова предупреждения i.name не определено. Что не так с этим?
Не используйте 'for ... in' при переходе по элементам массива. – mhitza
@mhitza: Разве это не то, что мой ответ говорит? ; o) – user113716
Lol, dunno, как я пропустил последнее предложение :) – mhitza