闭包的基本概念

什么是闭包?

解释1:

由于在JS中,变量的作用域属于函数作用域,在函数执行后作用域就会被清理,内存也随之被收回,但是由于闭包是建立在一个函数内部的子函数,由于其可访问上级作用域的原因,即使上级函数执行完,作用域也不会随之销毁,这时的子函数就是闭包。

便拥有了访问上级作用域中的变量的权限,即使上级函数执行后,作用域内的值也不会被销毁。


解释2:

  1. 父函数里面嵌套子函数,子函数访问父函数的局部变量。

  2. 通过 return 将子函数暴露到全局作用域,子函数就形成了闭包。

  3. 通过闭包,父函数的局部变量没有被销毁,可通过闭包去调用,但同时,这个局部变量也不会被全局变量污染。闭包

闭包的优点

        1)延长局部变量的生命周期。

        2)函数外部能够访问到内部变量。

        3)可以避免全局污染。

闭包解决了什么问题?

刚刚解释了什么是闭包,可以知道闭包是可以缓存上级作用域的,那么就使得函数外部打破了“函数作用域”的束缚,可以访问函数内部的变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值