zoukankan      html  css  js  c++  java
  • JS进阶-闭包的几种常见形式

    作用域链:

    //作用域链
        var a = 1;
        function test() {
            var b =2;
            return a;
        }
        alert(test());//弹出1;
        alert(b);//不能获取b
    //scope chain
        var a = 1;
        function test() {
            var b = 2;
            function test1() {
                var c = 3;
                alert(a);
                alert(b);
                alert(c);
            }
            test1();
        }
        test();//弹出1,弹出2,弹出3;

    词法作用域:

    //词法作用域;
        function f1() {
            var a = 12;
            return f2();
        }
        function f2() {
            return a;
        }
        alert(f1());//并不能获取a,a在f2()中并未定义;
    function f1() {
            var a = 1;
            return f2();
        }
        function f2() {
            var b = 3;
            alert(b);
            return a;
        }
        alert(f1());//弹出3,a在f2()中未定义
    function f1() {
            var a = 1;
            return f2();
        }
        function f2() {
            var b = 3;
            alert(b);
            return a;
        }
        alert(f1());//弹出3,a在f2()中未定义,undefined
        var a=55;
        alert(f1());//弹出3,弹出55

    如何通过闭包突破全局作用域链——几种常见形式

    //通过闭包突破全局作用域链
        function f() {
            var a = "sun";
            return function () {
                return a;
            }
        }
        var test = f();
        alert(test());//弹出sun
    var n;
    function f() {
        var a = "sun";
        n = function () {
            return a;
        }
    }
    f();
    alert(n());//弹出sun
       function f(param) {
            var n =function () {
                return param;
            };
            param++;
            return n;
        }
        var test = f(45);
        alert(test());//弹出46;
  • 相关阅读:
    使用weave管理docker网络
    为docker配置固定ip
    Building good docker images
    使用curl命令获取文件下载速度
    吐槽Java
    Kubernetes 中的服务发现与负载均衡(转)
    Kubernetes系列之介绍篇(转)
    top命令中的wa指标(转)
    uwsgi常用参数详解(转)
    Unix域套接字-Unix Domain Socket(转)
  • 原文地址:https://www.cnblogs.com/sunxirui00/p/7527279.html
Copyright © 2011-2022 走看看