关于闭包

原创 2017年08月12日 17:15:56

关于闭包,有很多的文档,其实说白了就是函数里面的返回值是另外一个函数什么是闭包?这就是闭包!

我们知道,在js中,我们可以把函数看成一个盒子,从盒子里面访问外部的变量是可以的,但是怎么从盒子外面访问到里面的变量呢?

这时,就要用到闭包啦!!

function animate(){
var name = "animate";
function cat(){
var color = 'yellow';
alert(color);

               return color
}
return cat();
}
animate();

如上例子,我们调用animate(),就能访问cat()函数里面的color变量;这就是闭包,是不是很简单

下面来说一下闭包一般在啥时候用

1,访问函数内部的变量,如上所示

2.用来保存变量

function animate() {
var name = "animate";
var n = 909;
nadd = function() {
n = n + 1;
};


function cat() {
var color = 'yellow';
alert(n);
return n;
};
return cat;
}
var fns = animate();
fns();
nadd();
fns();

如上所说,animate的变量n;会保存,不会销毁,所以要慎用,而且会占用内存
版权声明:本文为博主原创文章,未经博主允许不得转载。

传递闭包算法

  • 2017年08月23日 15:37
  • 285B
  • 下载

js闭包实例

  • 2016年12月17日 17:17
  • 84KB
  • 下载

百度地图API一:百度地图上循环显示标注点。使用闭包循环加载点击事件

本文记录:百度地图上循环显示标注点marker。使用立即执行函数和闭包循环加载点击事件,点击标注点显示信息窗口显示该标注点的具体信息。...

swift_函数和闭包

  • 2016年04月22日 17:47
  • 8KB
  • 下载

闭包与回调代码

  • 2015年01月28日 21:09
  • 549B
  • 下载

js闭包的用途(匿名自执行函数,缓存,实现封装,实现面向对象)

文章转载自:http://blog.csdn.net/sunlylorn/article/details/6534610

javascript变量作用域、匿名函数及闭包

一、JavaScript变量作用域(scope) 首先需要明白的几个要点: 1.JavaScript的变量作用域是基于其特有的作用域链的。 2.JavaScript没有块级作用域。 3.函数中...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于闭包
举报原因:
原因补充:

(最多只允许输入30个字)