闭包的含义:闭包说白了就是函数的嵌套,内层的函数可以使用外层函数的所有变量,即使外层函数已经执行完毕(这点涉及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);
参考