首页 > 编程语言 > 详细

理解javascript闭包

时间:2015-10-27 19:24:00      阅读:199      评论:0      收藏:0      [点我收藏+]

不说学术上怎么理解闭包的概念了,我所理解的闭包就是:

一个函数 a中包含另一个函数b,c调用函数a时,实际上就是调用了函数b,这就是闭包(嵌套在函数里面的内部函数,内部函数可以访问外部函数中声明的局部变量、参数和其他内部函数,内部函数被外部函数调用)。

看一个例子吧:

function a(){ //a中包含另一个函数b

  var i=0;

  function b(){

    alert(++i)

  };

  return b

};

var c=a();  //c调用函数a时,实际上就是调用了函数b

alert(c); //返回的是function b(){alert(++i)}

闭包其实就是保护内部变量,

但是如果页面上不需要这些变量,就会造成垃圾,

会使内存增大。

c=null  这样i就会被回收了。

闭包有啥好处呢?

1)可以存在自己的私有变量;

2)避免全局变量对其影响;

3)使一个变量长期储存在内存中

理解javascript闭包

原文:http://www.cnblogs.com/fs521cw/p/4914822.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!