闭包,就是这么简单

闭包函数:函数内部的函数,就是函数内部再次声明一个函数就叫做闭包。

闭包生成的三个必要条件:
1、 在函数a内部直接或者间接返回一个函数b
2、 B函数内部使用着a函数的私有变量(私有数据)
3、 A函数外部有一个变量接收函数b
代码示例如下:
在这里插入图片描述
例二、
每次外部函数执行的时候,外部函数的地址不同,都会创建一个新的地址
在这里插入图片描述

闭包的特点及优缺点:
1、延长变量的生命周期
优点:因为执行空间不会消失,变量也就不会销毁
缺点:因为执行空间不会销毁,会一直存在在内存中
2、可以访问函数内部的私有变量
优点:利用闭包函数可以访问函数内部的私有变量
缺点:执行空间不会销毁,会一直存在在内存中
3、保护私有变量(只要函数,就会有这个特点)
优点:保护私有变量不被外界访问
缺点:如果访问,必需利用闭包函数
闭包的函数致命缺点:
因为一段内存空间有一个不会被销毁的东西一直存在,会出现内存占用,如果过多,会导致内存溢出,导致内存泄漏;

闭包的作用:
1、 需要延迟变量的声明周期的时候使用
2、 或者需要访问某一个函数内部的私有变量的时候,前提是如果有更好的办法,尽量不用闭包,缺点致命。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值