码迷,mamicode.com
首页 > 编程语言 > 详细

javascript闭包的使用

时间:2015-03-30 14:47:12      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:

今天学习 了下javascript语言,以前从未想过为什么要用匿名和闭包,对于js局部变量和全局的概念理解未深刻,考虑下面代码:

Js代码
  function f1(){
    var n=999;
    nAdd=function(){n+=1}
    function f2(){
      alert(n);
    }
    return f2;
  }
  var result=f1();
  result(); // 999
  nAdd();
  result(); // 1000


如果变量n被定义成全局变量,那么会一直被存放在内存里,除非浏览器关闭,但是有些情况我们不得不经常使用某些变量,那么使用闭包的方法则可以满足需要,但是需要注意的是:

由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。这里引用了网上一篇文章的内容:http://www.jb51.net/article/24101.htm

javascript闭包的使用

标签:

原文地址:http://my.oschina.net/u/1445731/blog/393515

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