码迷,mamicode.com
首页 > 其他好文 > 详细

闭包小谈

时间:2017-03-25 15:15:53      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:被垃圾回收   概念   window   嵌套   bsp   变量   注意   全局变量   申请   


概念:函数嵌套函数,内部函数可以引用外部函数的参数和变量,变量和参数不会被垃圾回收机制所回收
作用:◆    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又没法回收这块内存给别的程序使用就叫内存泄漏。

 

闭包小谈

标签:被垃圾回收   概念   window   嵌套   bsp   变量   注意   全局变量   申请   

原文地址:http://www.cnblogs.com/stone-wu/p/6617191.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!