总结:闭包

来源:互联网 发布:怎么找淘宝刷手的工作 编辑:程序博客网 时间:2024/06/06 00:15

1. 什么是闭包

即重用一个变量,又保护变量不被污染的一种机制


2. 为什么要用闭包

全局变量:

优点: 可重用! 缺点: 易被污染!

局部变量:

优点: 不会被污染 缺点: 不可重用


3. 何时使用闭包

只要想即重用一个变量,又保护变量不被污染时,都用闭包!


4. 如何用

第一步:用外层函数包裹受保护的变量和内层函数

第二步:外层函数将内层函数作为对象返回到外部

第三步:使用者调用外层函数,获得内层函数对象

function outer(){    var i=1;    return function(){        console.log(i++);    }}var num=outer();num();//1

5. 闭包形成的根本原因

外层函数的作用域对象无法释放。 被内层函数的作用域scope属性引用着, 内层函数被全局变量引用着

这里写图片描述


6. 闭包的缺点

闭包生成的函数比普通函数占用更多的内存空间。 多的是无法释放的外层函数的作用域对象


6. 解决方案

如果闭包不再使用,应尽快释放!

num=null;

简单的对闭包做了个总结,谈了谈自己的理解,对闭包的理解尚浅《完》

原创粉丝点击