zoukankan      html  css  js  c++  java
  • 闭包小谈


    概念:函数嵌套函数,内部函数可以引用外部函数的参数和变量,变量和参数不会被垃圾回收机制所回收
    作用:◆    1)希望一个变量长期驻扎在内存之中
                2)避免全局变量的污染
            3)私有成员的存在
        ◆注意:可能会造成内存泄漏
      用一些简单的小例子来解释下闭包:

      function fun1(){
      var num=1;
      }
      //我想取到里面的局部变量num
      function fun1(){
      var num=1;
      function fun2(){

              //在加一个fun2当他的子元素
          alert(num);
      }

      }
      接下来我们就是需要用return出来返回值

      function fun1(){
      var num=1;
      function fun2(){//在加一个fun2当他的子元素
      alert(num);
      }
      return fun2(); //return出来后 它就给 window了所以一直存在内存中
      }
      fun1();
      内存泄漏与内存溢出
      1.内存溢出:指的是程序向系统申请一定大小内存,而系统不能满足程序的要求就是内存的溢出。2.内存泄漏:指申请的内存一直得不到释放,GC回收不了。一般在项目中就是,你声明的变量一直保存在内存中,它有值但你把它的引用地址搞丢了一直没法用它,而GC又没法回收这块内存给别的程序使用就叫内存泄漏。

  • 相关阅读:
    IOS-自定义返回按钮,保留系统滑动返回
    IOS-static cell 与 dynamic cell 混合使用
    IOS-快速集成检查更新
    IOS-如何优雅地拦截按钮事件(判断是否需要登录)
    IOS-更优雅地使用Static Cell
    Xcode8出现问题总结
    IOS-工程师Mac上的必备软件
    Minimum Sum of Array(map迭代器)
    C++ STL map
    Friends and Cookies(思维)
  • 原文地址:https://www.cnblogs.com/stone-wu/p/6617191.html
Copyright © 2011-2022 走看看