我在编码和搜索过程中遇到了困难并没有帮助我理解以下问题。
我有以下代码:
var HomeController = function(){
this.hello = "Welcome on the homescreen";
this.user = null;
};
HomeController.prototype.setInterface = function(){
var self = this;
var api = new API();
// Set user info
var data = api.getUserInfo();
data.done(function(userdata){
$("#player").text("Welcome back, " + userdata.name + "!");
self.user = userdata;
});
console.log(this.hello);
console.log(this.user);
};
我想将用户对象作为homecontroller的属性。
我读到了自变量的使用,因为函数中的上下文会改变,但它似乎不适用于此,我感到困惑。
对象包含数据,在函数内部不为空。
如果尝试控制台记录以下代码,我会得到以下结果:
Welcome on the homescreen
null
我做错了什么?