javascript的闭包特性解释
01 function foo(){
02 var a = 1;
03 return function() {
04 var b = 2;
05 return function(){
06 return [a,b];
07 }
08 }
09 }
JavaScript的变量作用域?
变量的作用范围就是定义开始行到本段(大括号)内,在此范围内,都相当于全局变量,例如:
变量 a 的作用范围就是02-08
变量 b 的作用范围就是04-07
所以,06 行,可以任意使用外部定义的变量,这样就形成了闭包。
参考文献:http://www.cn-cuckoo.com/2007/08/01/understand-javascript-closures-72.html#clEncap