zoukankan      html  css  js  c++  java
  • 闭包的理解-from my own opinion

    闭包,说起来那么难,其实理解了作用域,那么理解闭包就容易多了。

    全局环境,局部环境,这两个概念很好理解了。那么要深入理解下函数的局部环境。

    函数的局部环境,也就是说在一个函数内定义的变量,这个变量只能在该函数内部进行调用。

    还要记住一点,父级函数内声明的变量,可以在子函数内进行调用;反之不可以。 

    明白以上两点,那么闭包就差不多了。

    下面是给出的实例:

    function outer() {  //声明父函数
            var num = 33;
    
            function inner() {  //声明子函数
                return num;
            };
            return inner();
        };
    
        var obj = outer();
        alert(obj);  //返回值是 33

     抽象成概念的话:

    由于作用域的关系,JS全局环境不能访问函数内声明的局部变量。

    那么闭包提供了一种途径,可以使外部环境获取到函数内声明的局部变量。

    假设一个functionA,内部声明了一个functionB, 那么通过function B ,外部环境可以访问到functionA内定义的变量。

  • 相关阅读:
    【转载】关于C#中动态加载AppDomain的问题
    poj2239
    poj2231
    poj2229
    poj2234
    poj2236
    前 路
    只含一个单词的句子
    做人准则
    改变人生的32句励志名言
  • 原文地址:https://www.cnblogs.com/new-dream-new-hope/p/5324388.html
Copyright © 2011-2022 走看看