zoukankan      html  css  js  c++  java
  • 词法作用域

    1、概念

    词法作用域:定义在词法阶段的作用域,即书写代码时函数声明的位置决定的。词法分析器处理代码时会保持作用域不变(大部分是这样的),会知道全部标识符在哪里以及如何声明的,从而预测在执行过程中如何对他们进行查找。

    示例代码:

    <!DOCTYPE html>
    <html lang="zh">
    
        <head>
            <meta charset="UTF-8" />
            <title>词法作用域</title>
        </head>
    
        <body>
    
            <script type="text/javascript">
                function foo() {
                    console.log(a);
                }
    
                function bar() {
                    var a = 3;
                    foo();
                }
                var a = 2;
                bar();//输出2
            </script>
        </body>
    
    </html>

     

    2、作用域查找

    作用域会在找到第一个标识符时停止,存在“遮蔽效应”。

     

    3、欺骗词法

    (1)eval

    (2)with

    欺骗词法不是好主意,会导致性能下降,不要使用他们

     

  • 相关阅读:
    aarch64_p1
    aarch64_o2
    aarch64_o1
    aarch64_n3
    aarch64_n2
    aarch64_n1
    aarch64_m3
    aarch64_m2
    aarch64_m1
    aarch64_l3
  • 原文地址:https://www.cnblogs.com/mengfangui/p/8303089.html
Copyright © 2011-2022 走看看