こんにちは私はcodeacademy.comを使用してJavascriptを学習しようとしていましたが、なぜ私が書いた演習で意味がないように見える演習に到達しました。これが私のコードです。
(function(){
var bob = {
firstName: "Bob",
lastName: "Jones",
phoneNumber: "(650) 777 - 7777",
email: "bob.jones@example.com"
};
var mary = {
firstName: "Mary",
lastName: "Johnson",
phoneNumber: "(650) 888 - 8888",
email: "mary.johnson@example.com"
};
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()関数を呼び出そうとすると、list関数に問題がありますが、その人は未定義ですが、list()関数の代わりに次のように記述します。
printPerson(contacts[0]);
printPerson(contacts[1]);
すべてが機能します。list()関数で機能しないのは何が間違っているのでしょうか。