zoukankan      html  css  js  c++  java
  • 浅析Function_闭包

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

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

    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.外资一个闭包的函数被调用几次,局部变量就变化几次。

      

  • 相关阅读:
    阿里云配置学习
    华为机试练习代码
    微信公众号开发
    给div加滚动条
    Nolia 给CC添加过滤器
    算法理解
    Jquery常用功能
    day 2Linux软件从主机安装到服务器和安装JDK软件
    10月11 一些小的东西
    9月30 json工具类
  • 原文地址:https://www.cnblogs.com/controlms/p/7729091.html
Copyright © 2011-2022 走看看