从同一类中的另一种方法调用方法
为什么会出现错误:“Uncaught TypeError:self.myTest不是函数”?如何在JavaScript类的另一个方法中调用方法?从同一类中的另一种方法调用方法
class MyClass {
myTest() {
console.log('it works');
}
runMyTest() {
self.myTest();
}
}
var myClass = new MyClass();
myClass.runMyTest();
您需要使用this
关键字,而不是self
。
runMyTest() {
this.myTest();
}
class MyClass {
myTest() {
console.log('it works');
}
runMyTest() {
this.myTest();
}
}
var myClass = new MyClass();
myClass.runMyTest();
如果你解释你的解决方案,你的答案会更有用。 –
JavaScript中没有关键字“self”。只有“这个” [链接](https://www.w3schools.com/js/js_reserved.asp) –
*我*知道你改变了什么,为什么。但是不了解'this'的人不会。你只是告诉OP做了一些不同的事情(隐式事件),但没有解释为什么*。如果您还提供解释,而不仅仅是代码,那么访问者将会学到更多。 –
您需要使用this
不self
像
runMyTest() {
this.myTest();
}
但是很多实现的喜欢养参考,并执行以下操作:
var self = this;
这可能是原因使用时会想到self
作为自我参考。为进一步阅读,我建议这SO - post
它被称为'this'在JavaScript中,而不是'self'。 – Bergi