Привет, я пытаюсь изучить Javascript с помощью codeacademy.com, и я достиг упражнений, которые, похоже, не имеют никакого смысла, когда зачем я это написал. Это мой код :Печать в консольных объектах массива
(function(){
var bob = {
firstName: "Bob",
lastName: "Jones",
phoneNumber: "(650) 777 - 7777",
email: "[email protected]"
};
var mary = {
firstName: "Mary",
lastName: "Johnson",
phoneNumber: "(650) 888 - 8888",
email: "[email protected]"
};
var contacts = [bob, mary];
var printPerson = function(person){
console.log(person.firstName + " " + person.lastName);
}
var list = function(){
var i = contacts.length;
for(var j= 0; j < i ; j++){
printPerson(contacts[i]);
}
};
list();
})();
проблема заключается в функции списка, когда я пытаюсь вызвать функцию printPerson() Я понимаю, что человек не определен, но, если я пишу вместо функции списка() это:
printPerson(contacts[0]);
printPerson(contacts[1]);
Все работает. Что я делаю неправильно в функции list(), что он не работает?
Я должен быть слепым или что-то не могу поверить, я не видел эту ошибку Thanks – user1146440
@ user1146440: это легко сделать эту ошибку, когда вы называете переменную длину таким же образом, вы называете переменные индексации. назовите его 'length' вместо' i'; вы и все, кто читает ваш код, будут более здравомыслящими. – Claudiu