如何在另一个函数的回调中调用JavaScript函数?
这是我的代码:如何在另一个函数的回调中调用JavaScript函数?,javascript,prototype,Javascript,Prototype,这是我的代码: function User(){ this.nickname='nickname'; } User.prototype.save=function(){ dosomething(); }; User.prototype.add=function(){ navigator.geolocation.getCurrentPosition(function(positon){ this.save(); }); }; 但是this.save()是
function User(){
this.nickname='nickname';
}
User.prototype.save=function(){
dosomething();
};
User.prototype.add=function(){
navigator.geolocation.getCurrentPosition(function(positon){
this.save();
});
};
但是
this.save()
是错误的,我想在另一个回调中调用save()
。我发现这不是指向用户,我如何才能正确调用save()
?这个内部getCurrentLocation
可能不是您所认为的。尝试:
User.prototype.add=function(){
var self = this;
navigator.geolocation.getCurrentPosition(function(positon){
self.save();
});
};
我不应该觉得这是一项成就@p.s.w.g。。。但我将其解释为one.self是javascript中的关键字,指的是窗口对象。试着用这一步来理解上下文。这真的很有帮助。