任务20

作者: 墨灯 | 来源:发表于2016-12-16 17:35 被阅读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)

    相关文章

      网友评论

          本文标题:任务20

          本文链接:https://www.haomeiwen.com/subject/colbmttx.html