我有一个嵌套的函数。我怎样才能'this'指向构造函数。父级



我不确定我的"this"指的是什么

我想在我的代码中包含以下内容,我希望"this. getownercomponent()…"中的"this"指向与我创建的新变量相同的"this",该变量位于k.g getaggregation("hello..

")之外。

我该怎么做?

代码:

function () {...
var c = this.getHat();
var agg = this.getOwnerComponent()
item.press: function() {
 var c = this.getHat(); //this" is not equal to the same "this" inside variable agg
}

需要绑定函数。在ES6中,你可以使用=>函数语法,它总是绑定的。MDN文档

代替:

}.bind(oVBI));

尝试使用:

}.bind(this));

如果你想考虑旧的浏览器,你也可以使用老式的构造函数。

function person(name){
    // properties
    this.name = name;
    this.greet = function(){
        alert("Hello, "+this.name);
    }
}
var p = new person("bob");
p.greet();

最新更新