• 变量作用域


    1:局部变量的优先级要高于同名的全局变量

    var scope = "global"
    function checkscope(){
        var scope=  "loacl";
        return scope;       
    }
    checkscope           //=>"loacl"

    2:函数声明提前

    <script>
        function test(o) {
            var i=0;
            if(typeof o == "object"){
                var j=0;
                for(var k=0;k<10;k++){
                    console.log("k1:"+k);    //0~9
                }
                console.log("k2:"+k);         //10
            }
            console.log("j:"+j);              //0
        }
        var time = new Date();
        test(time)
    </script>
    <script>
        var scope = "global";
        function f() {
            console.log(scope);         //undefined
            var scope = "loacl";
            console.log(scope)         //loacl
        }
        f();
    </script>

      你可能会误认为函数中的第一行会输出“global”,因为代码还没有执行到var语句声明局部变量的地方。其实不然,由于函数作用域的特性,局部变量在整个函数体始终是有定义的,也就是谁,在函数体内局部变量遮盖了同名全局变量。尽管如此,只有在程序执行到var语句的时候,局部变量才会被真正赋值。

  • 相关阅读:
    第37月第23天 cmmi3
    7. HTML Web Server的选择
    6. HTML URL字符编码
    5. HTML URL(Uniform Resource Locator 统一资源定位符)
    4. HTML 字符实体
    3. HTML 脚本
    2. HTML 头部 <head>
    1. HTML 文档类型 <!DOCTYPE>
    22. HTML 颜色名
    21. HTML 颜色
  • 原文地址:https://www.cnblogs.com/QianBoy/p/7586655.html
Copyright © 2020-2023  润新知