1

コードは次のとおりです。

// The Person constructor
function Person(name, age) {
    this.name = name;
    this.age = age;
}

// Now we can make an array of peoples
var family = new Array();
family[0] = Person("alice", 40);
family[1] = Person("bob", 42);
family[2] = Person("michelle", 8);
family[3] = Person("timmy", 6);

// loop through our new array
for ( i=0; i < family.length; i++; ) {
    console.log(family[i].name)
};

このスクリプトの期待される出力は次のとおりです。

alice
bob
michelle
timmy

しかし、出力は次のとおりです。

Uncaught TypeError:undefined(無名関数)のプロパティ'name'を読み取れません

4

3 に答える 3

2

追加されたものごとにnewキーワードを追加し、 -loop内Personの余分なものを削除します(の後に);fori++

// Now we can make an array of people
var family = new Array();
family[0] = new Person("alice", 40);
family[1] = new Person("bob", 42);
family[2] = new Person("michelle", 8);
family[3] = new Person("timmy", 6);

// loop through our new array
for ( i=0; i < family.length; i++ ) {
    console.log(family[i].name);       // Also, added a semicolon here. Not required, but it's good practice to close your lines.
};

これでログに記録されます。

アリス
ボブ
ミシェル
ティミー

于 2013-01-03T09:04:31.567 に答える
0
// Our Person constructor
function Person(name, age) {
    this.name = name;
    this.age = age;
}

// Now we can make an array of people
var family = new Array();
family[0] = new Person("alice", 40);
family[1] = new Person("bob", 42);
family[2] = new Person("michelle", 8);
family[3] = new Person("timmy", 6);

console.info(family);
// loop through our new array
for ( i=0; i < family.length; i++ ) {
    console.log(family[i].name)
};
于 2013-01-03T09:05:15.543 に答える
0

私はこのようなことをしました:

// Our Person constructor
var Person = function(name,age) {
    this.age = age;
    this.name = name;
};

// Now we can make an array of people
var family = new Array();
    family[0] = new Person("alice",40);
    family[1] = new Person("bob", 42);
    family[2] = new Person("michelle",8);
    family[3] = new Person("timmy",6);

// loop through our new array
for (var famloop in family) {
    console.log(family[famloop].name);
}
于 2013-01-10T13:31:59.473 に答える