闭包
函数作为返回值
1 | //对Array的求和,立刻求和 |
返回闭包时牢记的一点就是:返回函数不要引用任何循环变量,或者后续会发生变化的变量
1 | function count() { |
创建一个匿名函数并立刻执行
1 | (function (x) { |
在面向对象的程序设计语言里,比如Java和C++,要在对象内部封装一个私有变量,可以用private修饰一个成员变量。在没有class机制,只有函数的语言里,借助闭包,同样可以封装一个私有变量。我们用JavaScript创建一个计数器:
1 | ; |
1 | //对Array的求和,立刻求和 |
1 | function count() { |
1 | (function (x) { |
1 | ; |