javascriptコードのサンプル:
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が未定義であることが示されます。これの何が問題になっていますか?