Skip to content

Latest commit

 

History

History
39 lines (27 loc) · 707 Bytes

闭包.md

File metadata and controls

39 lines (27 loc) · 707 Bytes

[TOC]

闭包

怎么产生闭包

当一个嵌套的内部(子)函数引用了嵌套的外部(父)函数的变量(函数)时,就产生了闭包。

闭包到底是什么

  • 闭包是嵌套的内部(子)函数
  • 包含在被引用变量(函数)的对象 注意:闭包存在于嵌套的内部(子)函数中

产生闭包的条件

  • 函数嵌套
  • 内部函数引用了外部函数的变量(函数)

一个最基本的闭包

    <script>
    function fn1 () {
        var a = 2;
        function fn2 () {
            a++;
            console.log(a);   
        }
        return fn2;
    }
    var c = fn1();
    c();
    c();
    </script>