Javascript变量范围与原型

时间:2016-06-16 15:00:45

标签: javascript variables scope

我在编码和搜索过程中遇到了困难并没有帮助我理解以下问题。

我有以下代码:

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

我做错了什么?

0 个答案:

没有答案