我已经使用JS两年了,我的Pluralsight评估为我在JS方面熟练掌握,我了解原型继承、高阶函数、IIFEs等,并且在实际情况下使用它们,但是闭包是其中一个概念,你理解了它,但是找不到任何在实际开发中使用它的理由。我的意思是,我知道如果我说:
function expClosure(val){
//do something to val-->anotherVal
return function(val){return anotherVal)};
}
var exp = expClosure(val);
exp(); --> returns the value of anotherVal;
我的问题是为什么我要这样做,或者说有哪些具体情况会让我考虑使用它。
return function(otherVal){return anotherVal)};
,因为你使用val
覆盖了闭包。现在它是围绕着val
的一个闭包。 - Nina Scholz