闭包

作者: YouKnowznM | 来源:发表于2017-12-01 15:58 被阅读0次

    如下:

    var local = 'foo'
    function bar() {
      console.log(local);
    }
    

    「函数」和「函数内部能访问到的变量」(也叫环境)的总和,就是一个闭包。

    闭包是js函数作用域的副产品。正是因为js函数内部可以使用外部的变量,所以恰好满足了闭包的定义。

    1. 常见的”函数套函数“的做法,是为了让local成为局部变量,以达到隐藏变量的目的
    2. return bar 或者 window.bar = bar的做法,是为了让函数外部能访问到这个bar函数。

    常用于:

    • 间接访问一个变量(隐藏变量)
    function(){
    
      var lives = 50
    
      window.plus = function(){
        lives += 1
      }
    
      window.minus = function(){
        lives -= 1
      }
    
    }()
    

    相关文章

      网友评论

          本文标题:闭包

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