• 深入探究什么是闭包?


    代码举例:
    f1();
    function f1 () {
    var a = '闭包';
    f2();
    function f2() {
    console.log(a)
    }
    }

    什么是闭包?
      从上面的代码中可以看出,闭包就是在一个函数中定义一个变量,这个变量在函数外部是不能访问的,但是这个函数的内部定义的子函数是可以正常访问的,那么f2这个函数就属于闭包。

    使用闭包需要注意什么?

      1.由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。

      2.闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。

  • 相关阅读:
    DOSD用scratch的方式训练通用目标检测,性能很高
    caffemodel模型
    NetScope脱机(localhost)使用[转】
    class前置声明
    const函数
    CUDA开发
    caffe2学习
    faster rcnn讲解很细
    控制台输出覆盖当前行显示
    UA池 代理IP池 scrapy的下载中间件
  • 原文地址:https://www.cnblogs.com/qiuchuanji/p/8805341.html
Copyright © 2020-2023  润新知