使用Groovy,你可以像下面運行關閉:不Arrow功能具有委職能屬性如Groovy封閉
instanceB.methodB({
methodA(3);
methodA(3);
});
//---- methodB definition
class B{
def methodB(Closure c){
c.delegate=new A(); //!!!---The question is about this "delegate" in JS
c.call();
}
}
正如您可能注意到,我們稱之爲直接methodA
內封閉無this
(this.methodA()
)。 這是因爲這個指令c.delegate=new A()
:因此,在那裏可以調用new A()
的所有方法。
我的問題:
如何使這種使用箭功能的工作原理使用Javascript:要麼ES6或ES7。
箭頭函數是否有類似delegate
?
僞代碼:
instanceB.methodB(()=>{
methodA(3);
methodA(4);
});
class B{
methodB(arrow){
arrow.delegate=new A(); // What's the right way, if any ?
arrow.call();
}
}
有沒有更新?沒有人知道Groovy&JS –
我不知道這與箭頭函數有什麼關係。 JS中沒有特別的範圍。 – Bergi
你可能想看看http://stackoverflow.com/q/21562973/1048572 – Bergi