【发布时间】:2011-01-30 20:22:51
【问题描述】:
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" 的项目 0。当我使用断点测试代码时,它显示在调用警报的那一刻,i.name 未定义。这有什么问题?
【问题讨论】:
标签: javascript arrays object properties dynamic-arrays