• javascript中作用域


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        
        <script type="text/javascript">
            // 什么叫作用域 ??
            // 从字面意思来理解: 起作用的那块区域
            // 作用域是限制什么的? 变量 还是 代码逻辑
            // 一般说的作用域, 就是指: 变量的作用域
    
            // 作用域主要由两种作用域:
            // 1 块级作用域 (JS不支持)
            // 2 词法作用域
    
            // 1 什么叫做块级作用域?
            //         常见的支持块级作用域的语言:
            //                 C 语言( C系,如:Java、Object-C/Swift、C# / C++)
            //         在支持块级作用域的语言里面, 一个代码块就能来限制变量的使用
            // if( true ) {
            //     var num = 123;
            // }
            // console.log(num);
            // for(var i = 0; i < 10; i++) {
            //     console.log(i);
            // }
            // console.log(i); 
            // 在支持块级作用域的语言中,在for循环的外部是访问不到i的值
    
    
            // 2 词法作用域
            // 一个变量的作用范围, 在代码写出来的那一刻就定下了, 不会根据代码的运行
            //         而受影响.
            // 换句话说: 变量的作用范围只与代码声明的位置有关, 而与运行时无关
            //              函数也是同样的道理, 只与函数声明的位置有关, 而与调用的位置无关
            // var num = 123;
    
    
            // 面试题
            var num = 123;
            function f1() {
                console.log(num); // 123??
            }
    
            function f2() {
                var num = 456;
                f1();
            }
    
            f2(); 
    
            // 
            /*var i;
            for(i = 0; i < 10; i++) {
                // console.log(i);
            }
            // 在js中能在for循环的外部来访问到 循环内部定义的变量
            console.log(i);  // ??? 10*/
        </script>
    </body>
    </html>
  • 相关阅读:
    C#中yield return用法分析
    SQL表连接查询(inner join(join)、full join、left join、right join、cross join)
    SQL Server 数据类型转换函数
    linq查询结果指定列的两种方式
    html2cavans
    ORM
    Node.js Web 模块
    Node.js GET/POST请求
    Node.js 文件系统
    装逼利器函数注释
  • 原文地址:https://www.cnblogs.com/lsy0403/p/5930424.html
Copyright © 2020-2023  润新知