闭包的含义:闭包说白了就是函数的嵌套,内层的函数可以使用外层函数的所有变量,即使外层函数已经执行完毕(这点涉及JavaScript作用域链)。
例子
???????var a = 11; ???????setTimeout(function(){ ???????????alert(a); ???????},1000);
别外要注意函数的定义和执行的区别, 定义是将实现函数主体并赋给函数变量名, 执行是通过"变量名()"来执行函数
function func1(){
???alert(11);
}
function func2(){
???alert(22);
}
setTimeout(func1,1000);
setTimeout("func2();",2000);
setTimeout(function(){
???alert(33);
},3000);
参考
http://www.jb51.net/article/24101.htm javascript深入理解js闭包
http://www.jb51.net/article/84217.htm Javascript自执行匿名函数(function() { })()的原理浅析
http://www.jb51.net/article/79238.htm 浅析Javascript匿名函数与自执行函数
js闭包
原文地址:http://www.cnblogs.com/jimzbom/p/7450934.html