我开始读这个: --这是使其成为可能的基本构造,实际上也是JavaScript唯一的最佳特性。我们只需创建一个匿名函数,并立即执行它。在函数中运行的所有代码都处于闭包状态,它在应用程序的整个生命周期内提供隐私和state。vars and functions are in this scope only}());
我不明白在自动执行的<
我正在阅读Mark Summerfield的书“Programming in Go Section5.6.3”中的闭包示例。他将闭包定义为一个“函数”,它捕获“存在于创建它的同一作用域中的任何常量和变量,如果它引用它们的话”。
他说闭包的一种用法是匿名函数(或Go中的函数文字)。如果我没理解错的话,他给一个匿名函数分配了一个名字,然后用这个名字调用这个函数
Function Called 9Function Called 10当我第一次运行这个示例时,我担心fnTest会有一个单一的全局闭包,因此currentIdx和endIdx将被fnTest的两个调用所设置和访问。请告诉我以下是否是一个很好的解释方法:
每次对fnTest的调用都会创建一个唯一的对象,在该对象中,变量currentIdx和endIdx存储在该调用的生存期内,以及该调用中的所有子例程(这称为闭