首页 > 代码库 > javascript中作用域

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>

 

javascript中作用域