正在處理JavaScript項目。這是一個有點複雜,我知道,但我想基本上驗證,並通過相關的財產的Object1查詢作用,從Object2的信息(如果是有道理的)...對象屬性返回爲未定義(JavaScript)
Object1 = function() {
this._list = [];
};
Object1.prototype.method1 = function(param) {
if (param == "foo") { this.method2("foo"); }
};
Object1.prototype.method2 = function(param) {
for (var i = 0; i < this._list.length; i++) {
if (this._list[i]._name == param) {
console.log(this._list[i]._name); // outputs "foo"
return this._list[i]._name // **TypeError: value is undefined**
}
}
};
Object2 = function(name) {
this._name = name || "foo";
}
var object = new Object1();
var foo = new Object2("foo");
object._list.push(foo);
object.method1("foo");
我知道這有點複雜。我的問題雖然,它返回 'param._name',它給出了TypeError。但是,在前一行中,當我將它發送到控制檯時,它會很好。
我承認我對JavaScript有點新,甚至對OOP更新,所以如果這是一個愚蠢的或無意義的問題,請在我身上輕鬆一下!
任何想法?所有的想法和建議表示讚賞。
感謝
首先,將您的方法調用置於您的方法定義之下。 – Bergi
是的,'this.object','var foo ='和'== item'部件是錯誤的。你可以在問你的問題之前解決這些問題嗎,這樣你的實際問題至少可以重現嗎? – Bergi
編輯是一個更清潔 - 對不起, – user2283234