浅析Function_闭包

2018-06-24 00:38:36来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

闭包的必要性:弥补全局变量(全局污染)和局部变量(无法共享,短暂保存)的缺陷

使用场景:既反复使用局部变量,又避免全局污染

1.步骤:

  1.定义外层函数,封装被保护的局部变量

  2.定义内层函数,对外层函数中需要操作的局部变量进行操作

  3.外层函数返回内层函数的对象

//定义一个取号机函数,随机生成一个永不重复的号码
function outer(){    //第一步
    var n=1;
    function inner(){  //第二步
        return n++;
    }
    return inner();   //第三步
}
var num=outer();
console.log(num());    //1
console.log(num());    //2
var getNum=outer();
console.log(getNum());//1(互不干扰)
console.log(getNum());//2

2.(读)判断闭包的依据:

  1.嵌套函数

  2.内层函数操作了外层函数的局部变量

  3.外层函数返回内层函数

3.判断闭包的执行结果

  1.外层函数被调用几次,就有多少个不受干扰的局部变量

  2.外资一个闭包的函数被调用几次,局部变量就变化几次。

  

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:【前端】windows64位必备软件清单

下一篇:【javascript】浏览器用户代理检测脚本实现