樣品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;
}
}
我包含在HTML文件中這個JavaScript文件。 HTML文檔的內部腳本標記我有這樣的代碼:
var myObject = new a();
myObject.addToArray("test1");
myObject.searchForName("test1");
運行這段代碼,我希望在這"test1"
警報彈出,而是它會彈出未定義。然而,Chrome中的調試器顯示myObject中有一個數組,其名稱爲"test1"
。當我使用斷點來測試代碼時,它顯示在調用警報的那一刻,i.name未定義爲。這有什麼問題?
當循環訪問數組元素時,不要使用`for ... in`。 – mhitza 2011-01-30 20:29:51
@mhitza:這不是我的答案所說的嗎? ; o) – user113716 2011-01-30 20:30:53