zoukankan      html  css  js  c++  java
  • JavaScript 闭包(个人理解)

    当function里嵌套function时,内部的function可以访问外部function里的变量。但这不是闭包
        function foo(x) {
            var tmp = 3;
    
            function bar(y) {
                alert(x + y + (++tmp));
            }
    
            bar(10);
        }
        foo(2);
    里面的bar()我们可以理解位私有方法 只可以在内部访问自己的变量。

    OK everybody come here JavaScript闭包示例如下:
    function func1(x) {
    
            var tmp = 3;
            return function (y) {
                console.log(x + y + (++tmp));
            }
        }
    
        var func2 = func1(2);
    
    
        console.log(typeof func2);
    
        func2(10);

    我们看到func1 返回值是一个function

    那么 func2其实就是一个方法的名称了,那么就可以执行了。这就是闭包,func1在执行完毕了内部的return function并不会释放掉。可以在变量接收到return的function 这个function可以继续执行并且访问内部的变量。

    这是我个人的理解。欢迎大家加入QQ群讨论。

    技术交流QQ群:15129679

     
  • 相关阅读:
    BestCoder Round #87 1001
    p1304 家族
    hdu 1003
    hdu 1231
    hdu 1232 畅通工程
    hdu 4107
    Robot Framework--用例、数据、流程分离例子
    Robot Framework--RIDE面板与库的说明
    Robot Framework--pybot命令
    Robot Framework--运行pybot时出错
  • 原文地址:https://www.cnblogs.com/yeminglong/p/6609752.html
Copyright © 2011-2022 走看看