JavaScript回调/这与require.js/objects的混淆
我尝试在我的应用程序中使用以下结构: 我尝试在构造函数中注册一些回调。我用jquery做了一个例子,实际上它是传单地图,但区别不重要JavaScript回调/这与require.js/objects的混淆,javascript,jquery,callback,requirejs,Javascript,Jquery,Callback,Requirejs,我尝试在我的应用程序中使用以下结构: 我尝试在构造函数中注册一些回调。我用jquery做了一个例子,实际上它是传单地图,但区别不重要 function Person() { this.name = "abc"; $("#something").onSomeEvent(function() { this.name = "cde"; }); } 如何在回调中正确引用对象属性名?您可以使用以下方法: function Person() { this.
function Person() {
this.name = "abc";
$("#something").onSomeEvent(function() {
this.name = "cde";
});
}
如何在回调中正确引用对象属性名?您可以使用以下方法:
function Person() {
this.name = "abc";
$("#something").onSomeEvent(function() {
this.name = "cde";
}.bind(this));
}
您可以使用以下内容:
function Person() {
this.name = "abc";
$("#something").onSomeEvent(function() {
this.name = "cde";
}.bind(this));
}
使用,这在旧的IE或jquerys中不受支持
使用,这在旧的IE或jquerys中不受支持
您可以将$(“#someting”)与右this一起使用
如果使用bind来解决问题,则在回调中,这是错误的
您可以将$(“#someting”)与右this一起使用
如果您使用bind解决问题,那么在回调中这是错误的。您的解决方案与bind相比有什么好处?好处是您可以将此点用于onSomeevent范围,并根据需要使用self point to person范围。您的解决方案与bind相比有什么好处?好处是您可以将此点用于onSomeevent范围并根据您的需要使用self point to person范围。
function Person() {
var self = this;
self.name = "abc";
$("#something").onSomeEvent(function() {
//this is right if you need
self.name = "cde";
});
}