[英]Javascript access object property in method
我該如何正確獲取此引用,它返回“ foo undefined”;
function myObject(){
this.foo="bar"
this.foo2=this.myMethod.foo3;
alert(this.foo2);
}
myObject.prototype.myMethod= {
foo3:'foo'+this.foo;
}
當您這樣做時...
myObject.prototype.myMethod=
{
foo3:'foo'+this.foo;
}
的值this
正在從其中被創建對象的當前上下文,這可能不具有評價foo
屬性。
不知道為什么要調用它myMethod
,而是分配一個Object,但是如果您實際上使它成為一個方法,則可以獲取正確的foo
值。
function myObject(){
this.foo="bar"
this.foo2=this.myMethod();
alert(this.foo2);
}
myObject.prototype.myMethod= function() {
return 'foo'+this.foo;
};
var o = new myObject(); // alerts "foobar", and returns the new object
'foo' + this.foo
在解析時會立即連接在一起,因此它幾乎沒有用( this
不涉及實例)。
要獲取一個包含要獲取的變量的對象,必須使用函數。 該函數僅在調用時執行,因此this.foo
引用正確的值。
function myObject(){
this.foo="bar";
this.foo2=this.myMethod().foo3;
alert(this.foo2);
}
myObject.prototype.myMethod = function() {
return {
foo3: 'foo'+this.foo
};
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.