Javascript初学者关于对闭包的理解
2015-11-13 21:17
253 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xianfeng_talk/article/details/49823135
function
outer(){
var n=0;
return function inner(){return ++n;}
}
var getNum=outer();
console.log(getNum()); //输出1
n=0;//创建了全局变量n
var n=0;
return function inner(){return ++n;}
}
var getNum=outer();
console.log(getNum()); //输出1
n=0;//创建了全局变量n
console.log(getNum()); //输出2
闭包的三大定义:
1、函数的嵌套;
2、里层函数调用外层函数的局部变量;
3、 内层函数被返回到外部,在外部调用。
何时使用闭包:即要重用变量,又要保护变量不被污染
缺点:占用更多内存空间——因为外层函数的活动对象无法释放。
拿上面的例子来举例:里层函数inner调用了外层函数的局部变量n,并且inner被返回到外部
我的理解是,外层函数的作用就是创建一个不容易被串用的局部变量,从而达到保护变量的作用,而对于要实行的方法逻辑则主要有里层函数实行。由于闭包的特性使得闭包调用结束后,外层函数作用域链的活动对象得不到释放,所以闭包又存在着占用内存空间的缺点
相关文章推荐
- javascript执行上下文、作用域与闭包(第七篇)---关于闭包典型例子的理解
- JavaScript高级程序设计 Chapter 7 关于函数、闭包的笔记和理解
- JavaScript关于闭包,匿名函数,this,对象等的一些理解
- JavaScript关于作用域、作用域链和闭包的理解
- 关于Javascript 闭包的理解
- JavaScript关于作用域、作用域链和闭包的理解
- 关于javascript中闭包的理解
- javascript 关于闭包的解释与理解
- 关于 Javascript 的闭包理解
- 深入理解javaScript的闭包
- 理解Javascript的闭包
- 深入理解JavaScript内部原理(6): 闭包
- 深入理解javascript原型和闭包系列
- 全面理解JavaScript中的闭包
- 理解和运用JavaScript的闭包机制
- 全面理解JavaScript中的闭包
- javascript深入理解js闭包
- 深入理解javascript原型和闭包
- javascript深入理解js闭包【手动加精】
- 关于js函数闭包的理解