任务20

2016-12-16  本文已影响0人  墨灯

什么是闭包?有什么作用?

MDN:闭包(closure)是指那些能够访问独立变量的函数(变量在本地使用,但定义在一个封闭的作用域中)。换句话说,这些函数可以“记忆”它被创建时候的环境。

function f1(){
    var a=1;
    function f2(){
        console.log(a);
    }
    return f2;
}
var c=f1();
c();

上面代码中的f2就是闭包,利用f2使得f1中的变量对外可见;

var fnArr = [];
for(var i=0; i<10; i++){
    (function(){
        var a=i;
        fnArr[i]=function(){
            return a;
        }
    })()
}
console.log ( fnArr[3]() )```

#setTimeout 0 有什么作用?
![setTimeout.PNG](https://img.haomeiwen.com/i2150964/15ff4a29a6417fe7.PNG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
seTimeout () 可以将一段代码在<b>给定环境</b>中最后并且延时执行,延时时间视第二个参数而定。如果第二个参数为0,表示等其他代码执行完之后立即执行。<b>这样就可以改变代码的执行顺序</b>.
#[代码](http://book.jirengu.com/jirengu-inc/jrg-renwu6/homework/%E9%83%AD%E5%BF%97%E6%98%8E/%E4%BB%BB%E5%8A%A120/code20.js)
上一篇下一篇

猜你喜欢

热点阅读