zoukankan      html  css  js  c++  java
  • JS1 -- 闭包

    闭包:有权访问另一个函数作用域中的变量的函数。(创建闭包的常见方式,就是一个函数内部创建另一个函数或二级函数引用一级函数的变量,例子如下)

    例子:

    function closureFn() {
       var a = 3
      function sonFn() {
        return ++a;
      }
      return sonFn
    }
    let changeNum = closureFn();
    console.log(changeNum())    // 4
    console.log(changeNum())    // 5

    文字+图解:有权访问 另一个函数b的 作用域中的 变量i 的函数a, 即a函数就是闭包

    1.有权访问另一个函数作用域中的变量的函数,就是一个函数内部创建另一个函数

    2.作用是可以读取函数内部变量 和 防止污染全局数据()

    3.缺陷是变量始终保存在内存中,导致内存泄漏

    4.定时器、事件监听器、 Ajax请求、跨窗口通信、Web Workers或者任何其他的异步(或者同步)任务中,只要使 用了回调函数,实际上就是在使用闭包!(模块暴露)

    以妓会友,评赞走起

  • 相关阅读:
    max()和数组里面的max
    NYOJ 超级台阶
    NYOJ Fibonacci数
    floor()向下取整函数
    pow()函数
    HDU 小数化分数 1717
    大端和小端存储
    字节对齐
    CvvImage内存泄漏解决
    01矩阵中,把0的点的行和列都置零
  • 原文地址:https://www.cnblogs.com/lgyong/p/8559775.html
Copyright © 2011-2022 走看看