首页 > Web开发 > 详细

JS闭包

时间:2016-12-30 17:19:55      阅读:275      评论:0      收藏:0      [点我收藏+]

Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量:

1 var n=999;
2 function f1(){
3   alert(n);
4 }
5 f1(); // 999

但是,在函数外部自然无法读取函数内的局部变量

1 function f1(){
2   var n=999;
3 }
4 alert(n); // error

注:函数内部声明变量的时候,一定要使用var命令。如果不用的话,你实际上声明了一个全局变量!

 

技术分享

 

当函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个闭包。

因为a执行完后,b没有被返回给a的外界,只是被a所引用,而此时a也只会被b引 用,因此函数a和b互相引用但又不被外界打扰(被外界引用),函数a和b就会被GC回收。

JS闭包

原文:http://www.cnblogs.com/WebApp-DotNet/p/6237331.html

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