繁体   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