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 内部有一个数组,其中包含名为"test1"
. 当我使用断点测试代码时,它显示在调用警报的那一刻,i.name 是 undefined。这有什么问题?