了解闭包(使用场景)

定义:通俗讲,闭包是函数里面再定义一个函数,里层函数能访问到外层函数的布局变量,也就是说闭包是一个能访问外层函数布局变量的函数。常用情景有以下3种。

1.在window下有个全局变量a,在函数checkScope内部有个局部变量a。需求:在window下调用函数checkScope达到返回函数checkScope内部布局变量a的值。


13090773-3a679e70ee8319f1.png

2.页面有很多li元素,点击每一个li获取到该li标签的索引index。

如下代码并不能获取到点击的li的索引。


11.png

使用闭包可以实现该需求


19.png

3.提高函数性能,将结果保存,不需要将结果暴露在window的全局变量中。例如计算阶乘,如果以前有计算过,那么直接从以前的结果中获取,不需要重新计算。
b6f.png

【如果大家对程序员,web前端感兴趣,想要学习的,关注一下千峰教育。加群:673883249。免费赠送web前端系统的学习资料!!】

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容