定义:通俗讲,闭包是函数里面再定义一个函数,里层函数能访问到外层函数的布局变量,也就是说闭包是一个能访问外层函数布局变量的函数。常用情景有以下3种。
1.在window下有个全局变量a,在函数checkScope内部有个局部变量a。需求:在window下调用函数checkScope达到返回函数checkScope内部布局变量a的值。
2.页面有很多li元素,点击每一个li获取到该li标签的索引index。
如下代码并不能获取到点击的li的索引。
使用闭包可以实现该需求
3.提高函数性能,将结果保存,不需要将结果暴露在window的全局变量中。例如计算阶乘,如果以前有计算过,那么直接从以前的结果中获取,不需要重新计算。
作者:一墨编程学习
链接:https://www.jianshu.com/p/79bcc3c382bc