winnie-温妮

导航

关于闭包,不断理解不断更新

1、

function say667(){
    var num = 666;
    var sayAlert = function(){
        alert(num);
    }
    num++;
    return sayAlert;
}
var sayNumber = say667();
sayNumber();

闭包中使用的函数局部变量并非是值拷贝,而是引用。

say667()执行结束之后number所在的那块内存的值为667,而sayNumber()是在say667()执行结束之后才执行,当它访问number所在的内存时,结果自然也是667。

2、

延迟函数的回调会在循环结束时才执行。

posted on 2017-02-15 22:41  winnie-温妮  阅读(149)  评论(0编辑  收藏  举报