簡體   English   中英

Javascript 對象的屬性忘記值

[英]Javascript Object´s Attribute forgets value

我對 JavaScript 不是很有經驗。

我定義了一個帶有屬性的對象。 對象的一個​​方法使用對象的另一個方法作為回調進行 jQuery 發布。 在這第二種方法中,屬性忘記了它的值,警報打印“未定義”

var myObj=
{ attr1 : 'val1',

  method1 : function()
    { $.post("__AX_getContent?edit=true").done(this.method2);
      alert(this.attr1);
    },

    method2: function(data)
    { alert(this.attr1);
    }
}

$(myObj.method1());

在method2中有屬性值我做錯了什么?

那是因為第二種方法中的this是 AJAX 發送的XHR對象。

嘗試使用.bind函數原型。

$.post("__AX_getContent?edit=true").done(this.method2.bind(this));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM