js闭包

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

参考

javascript深入理解js闭包

Javascript自执行匿名函数(function() { })()的原理浅析

浅析Javascript匿名函数与自执行函数

原文地址:https://www.cnblogs.com/jimzbom/p/7450934.html