1
我在使用新版本的ES6時遇到了一個奇怪的錯誤 。當我運行這段代碼時,我得到了ReferenceError: alertBox is not defined
。有沒有辦法在這個函數內調用alertBox?感謝提前:)構造函數中的範圍錯誤(ES6)
下面的代碼
class main {
constructor(data){
this.data=data;
// this one works
this.alertBox(this.data);
this.watchFile(function(){
// this one throws error
this.alertBox(this.data);
});
}
alertBox(data){
alert(data);
}
watchFile(cb){
cb("changed");
}
}
// app.js
new main("hello");
在這裏你可以找到片段:https://repl.it/FJUo
非常感謝!它的工作原理,我不知道我必須使用箭頭功能的特殊原因。再次感謝:) –
是的,在ES6之前,您必須手動將'this'綁定到正常的函數,但是使用箭頭函數您可以免費獲得這種行爲。 – Graham