如何从Object内部调用类函数?

时间:2017-10-13 11:57:35

标签: javascript ecmascript-6 this es6-class

我正在尝试从存储在同一个类的另一个函数中的对象内部调用类'函数。我不能使用this,因为它引用了对象而不是类。通过名称直接调用函数也不起作用,因为它会抛出“未定义”的错误。

我的代码相当于:

class X extends Y {
    functionA() {
        console.log("Function called!");
    }
    functionB() {
        window.testObject = {
            objectFunction() {
                // I need to call functionA from inside here
            }
        }
    }
}

如何从functionA内拨打objectFunction

1 个答案:

答案 0 :(得分:3)

您可以在self更改之前设置另一个等于this的变量(例如this)。

class X extends Y {
    functionA() {
        console.log("Function called!");
    }
    functionB() {
        let self = this;
        window.testObject = {
            objectFunction() {
                // I need to call functionA from inside here
                self.functionA();
            }
        }
    }
}