【重点突破】——如何快速识别并解决“闭包问题”?

【重点突破】——如何快速识别并解决“闭包问题”?

一、引言

什么是“闭包”?它既是前端程序中常常会碰到的一个千年大坑,也是这个大坑唯一可以解决自身的办法。很多大牛对闭包都有自己的解释,但每个人的解释可能都不太一样,看太多反而混乱,这里,我会用一个小例子,尽量简单的说明这个“闭包”到底是什么,怎么识别?如何解决?

 

二、闭包

  • 什么是? 一种对象,向外公开了特定的数据,以及操作这种数据的方法,供外部调用,就是闭包
  • 为什么?  
  1. 全局变量:随处可见,可反复使用。缺点:极易被污染(易被篡改)。
  2. 局部变量:不会被污染。缺点:仅函数内可用,且不可重用(不易被篡改)。
  • 三大特点
  1. 外层函数
  2. 受保护的变量
  3. 内层函数

 

三、如何形成闭包

      外层函数的作用域对象无法释放,导致:外层函数的局部变量被保存下来(可以重用)。

  • 第一步:将受保护的变量和操作变量的函数封装在一个外层函数;
  • 第二步:外层函数,要将内层函数队形返回;
  • 第三步:使用者调用外层函数,获得内层函数对象。

 

四、快速识别

  • 向外抛出对象,一定是闭包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值