• JS的函数作用域


    函数的作用域和闭包

    作用域

    js的作用域和py相似,if while等控制语句并没有自己作用域;而函数是有自己的作用域的;

    if (1==1) {
        var s=12;
    };
    console.log(s);//12
    
    // ----------------------
    function f() {
        var temp=666;
    };
    f();
    console.log(temp);//Uncaught ReferenceError: temp is not defined

    嵌套函数的作用域:

    例1:

    var city = 'beijing';
    
    function func() {
      var city = 'shanghai';
      function inner(){
        var city = 'shenzhen';
        console.log(city);
        };
      inner();
    };
    func();

    例2:

    var city = 'beijing';
    function Bar(){
      console.log(city);
    }
    function func(){
      var city = 'shanghai';
      return Bar;
    }
    var ret = func();
    ret();    //beijing

    闭包:

    var city = 'beijing';
    
    function func(){
        var city = "shanghai";
        function inner(){
            // var city = "langfang";
            console.log(city);
        }
        return inner;
    }
    var ret = func();
    ret();
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>标题</title>
    </head>
    <body>
    
        <script>
            // 函数作用域(js函数作用域和python相似)
            if (1) {
                x=10;
            };
            console.log(x); // 10,if无作用域
    
            function f() {
                y=11;
            };
            // console.log(y); // Uncaught ReferenceError: y is not defined
    
            // 嵌套函数作用域
            var city='beijing';
            function f1() {
                var city='shanghai';
                function f2() {
                    var city='shenzhen';
                    console.log(city);
                };
                f2();
            };
            f1(); // 'shenzhen'
        </script>
    
    </body>
    </html>
    while True: print('studying...')
  • 相关阅读:
    信息收集
    beef框架使用
    网站程序CMS识别
    查找网站后台
    下载漏洞原理及利用
    后台拿webshell方法(2)
    如何学好web安全
    TIME_WAIT过多的解决方法(转)
    sudo
    keepalived+lvs子网掩码造成VIP切换故障 + vrrp_script+track_script
  • 原文地址:https://www.cnblogs.com/xuewei95/p/15015677.html
Copyright © 2020-2023  润新知