javascript 闭包

来源:互联网 发布:mac chili铁锈红 编辑:程序博客网 时间:2024/06/13 12:15
闭包:将函数内使用的其它作用域的变量做一个副本(下面称为锁定)
1.函数是不是值得来锁定一个变量,是看该变量在调用这个函数的时候,是不是能在上下文作用域中找到这个变量,如果无法在调用时找到这个变量,内部函数就会锁住它,否则就不会锁住
2. 函数激活时才会锁定变量(满足条件1),激活的方式:call即funName();()()分组;return function....;
<script>var dofun = [];function b(){for (var i = 0; i < 4; i++) {dofun[i] = function(k){//使用return激活函数return function(){return k;}}(i);//function(k)(i);k=i}}b();function a(){alert('3='+dofun[3]()); //3alert("0="+dofun[0]()); //0}    a();</script>


原创粉丝点击