タスク20

1044 ワード

閉鎖とは何ですか.何の役に立つの?
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](http://upload-images.jianshu.io/upload_images/2150964-15ff4a29a6417fe7.PNG?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    seTimeout ()                      ,            。        0,                。              .
    #[  ](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)