我問自己是否有可能將上下文綁定到函數的所有時間。生命週期綁定到功能
比方說,我們有一個全球性的功能和myClass的功能:
function myClass() {
this.iterator = 1;
}
function incrementConcreteIterator() {
this.iterator++;
}
我現在想myClass的範圍內調用incrementConcreteIterator,我做的:
let myClassInstance = new myclass();
incrementConcreteIterator.call(myClassInstance);
incrementConcreteIterator.call(myClassInstance);
//myClassInstance.iterator is now 3
,一切工作正常。我現在期望的是,當我綁定myClassInstance時,incrementConcreteIterator將始終在類上下文中調用,但事實並非如此。
let myClassInstance = new myclass();
incrementConcreteIterator.bind(myClassInstance);
incrementConcreteIterator();
incrementConcreteIterator();
//myClassInstance.iterator is still 1
有沒有辦法將上下文永久綁定到incrementConcreteIterator?