闭包使用的3种情景

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

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


img_588b0942959979c72c6bbb16c97778be.png

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

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


img_94888c1f0699aa328e0ab1eb9a2d9133.png

使用闭包可以实现该需求


img_9e48778f3cbd86bcd252049ad47b77bf.png

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


img_d2c47e49508c1cb01cf51a28cf63f1ab.png

【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。加群:731771211。免费赠送web前端系统的学习资料!!前端学习必备公众号ID:mtbcxx】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值