zoukankan      html  css  js  c++  java
  • 闭包

    简单来说,我理解的闭包就是 

       外层方法可以访问到内层方法的变量,然后内层元素就利用“闭包”这一特性去访问,改变外层变量 。

    有一个fnncatTest方法,里面嵌套一个b()方法 ,

     b()在fnncatTest()里,有权限拿到fnncatTest中的i变量 。

     执行++i, 在fnncatTest函数中的i值变为1;

     接下来我想要从外部拿到循环增加的i值 ,于是我写成了这样 :

    拜托,当然不可以了,i可是fnncatTest的局部变量 ,怎么可能拿到呢,

    于是我想,如果把i值给到一个函数上,我通过一个函数去访问i,

    这么写了:

    c()没有。对啊 ,因为fnncatTest没有返回值呀,于是我机智的在fnncatTest()加上了

    return b;

    这样,我的fnncatTest()有了返回值,把b()返回到了fnncatTest()中,

    fnncatTest便可以去访问b()中的i了

    i便可以呆在内存中,就变成了下面的样子了 。

      

    没写完,打个标记回来接着写。

  • 相关阅读:
    嵌入式驱动视频2019.03.24
    wps如何输入连续的长破折号
    python绘图问题
    2.13
    2.12
    2.10
    2.9
    2.8
    2.7
    2.5
  • 原文地址:https://www.cnblogs.com/fnncat/p/6559636.html
Copyright © 2011-2022 走看看