实质问题, 闭包的定义
当函数访问并记住所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。
(个人理解)闭包并没有什么神奇的,闭包是词法作用域的特性,函数能够保存它本身的词法作用域的变量是肯定的, 即使这个函数嵌套在另一个函数里面也不例外。
循环和闭包
闭包用来保存循环变量的值,每一次循环都创建一个副本。 如下代码:
| |
模块
可以利用闭包去构建模块,封装私有属性和方法,然后暴露给外部方案修改内部的属性。
当函数访问并记住所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。
(个人理解)闭包并没有什么神奇的,闭包是词法作用域的特性,函数能够保存它本身的词法作用域的变量是肯定的, 即使这个函数嵌套在另一个函数里面也不例外。
闭包用来保存循环变量的值,每一次循环都创建一个副本。 如下代码:
| |
可以利用闭包去构建模块,封装私有属性和方法,然后暴露给外部方案修改内部的属性。