0%

闭包

闭包

JavaScript支持闭包特性。

  • 允许引用在当前函数以外定义的变量

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      
    function make(){
    var base = "base";
    function appendWord(word){
    return base + " and " + word;
    }
    return appendWord("bi");
    }
    /* base and bi */
    alert(make())
  • 可以返回一个内部函数,并在后面调用

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function make(){
    var base = "base";
    function appendWord(word){
    return base + " and " + word;
    }
    return appendWord;
    }
    var func = make();
    /*base and bi*/
    console.log(func("bi"));
    /*base and bao*/
    console.log(func("bao"));
  • 闭包可以更新外部变量的值

欢迎关注我的其它发布渠道