JavaScript闭包

1.什么是闭包?
函数A中,有一个函数B或有一个对象,函数B中或者对象中可以访问函数A中定义的变量或者是数据,此时形成了闭包。
2.闭包生成的三个重要条件

  1. 在函数 A 内部直接或者间接返回一个函数 B
  2. B 函数内部使用着 A 函数的私有变量(私有数据)
  3. A 函数外部有一个变量接受着函数 B
    3.函数模式闭包:函数中有一个函数
    在这里插入图片描述
    4.对象模式闭包:函数中有一个对象
    在这里插入图片描述
    5.闭包的作用
    当你需要延长变量的声明周期的时候或者你需要访问某一个函数内部的私有数据的时候,可以采用闭包。
    6.闭包的特点(优点和缺点并存)
    1.延长了变量的生命周期
    + 优点: 因为执行空间不销毁, 变量也没有销毁
    + 缺点: 因为执行空间不销毁, 会一直存在在内存中
    2.可以访问函数内部的私有变量
    + 优点: 利用闭包函数可以访问函数内部的私有变量
    + 缺点: 执行空间不会销毁, 会一直存在在内存中
    3.保护私有变量
    + 优点: 保护私有变量不被外界访问
    + 缺点: 如果向访问, 必须要利用闭包函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值