简单学习闭包

一. 了解闭包

1.闭包的生成?
	闭包的生成有三个必要条件
	=>  在函数 A 内部直接或者间接返回一个函数 B
	=>  B 函数内部使用着 A 函数的私有变量(私有数据)
	=>  A 函数外部有一个变量接受着函数 B
        => 这样就形成了一个不会销毁的函数空间(闭包空间)
        
2. 闭包空间?
	=>  我们管这个不会销毁的 a 函数的执行空间叫做 闭包空间
    =>  把函数 a 里面返回的 函数 b, 叫做函数a 的 闭包函数
    =>  官方给的定义有一句话: 闭包 => 函数内部的函数

在这里插入图片描述

二. 闭包的特点

1. 延长了变量的生命周期
      优点: 因为执行空间不销毁, 变量也没有销毁
      缺点: 因为执行空间不销毁, 会一直存在在内存中
      
2. 可以访问函数内部的私有变量
      优点: 利用闭包函数可以访问函数内部的私有变量
      缺点: 执行空间不会销毁, 会一直存在在内存中
      
3. 保护私有变量(只要是函数, 就有这个特点)
      优点: 保护私有变量不被外界访问
      缺点: 如果向访问, 必须要利用闭包函数

三. 闭包的函数的问题

    => 因为当一段内存空间中有一个不会被销毁的东西一直存在,
    => 那么就会出现内存占用, 如果过多, 就会导致内存溢出
	=> 那么结果就是 内存泄漏
	
	   (注意:因为闭包这个致命的缺点存在,所以闭包尽量少用,能用其他方法解决就用其他方法。)

四. 小结

1.闭包就是函数中嵌套一个函数。
2.闭包虽然能解决一些问题,但是它存在致命缺点,所以慎用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值