词法作用域
程序员文章站
2022-04-15 20:19:54
1、概念 词法作用域:定义在词法阶段的作用域,即书写代码时函数声明的位置决定的。词法分析器处理代码时会保持作用域不变(大部分是这样的),会知道全部标识符在哪里以及如何声明的,从而预测在执行过程中如何对他们进行查找。 示例代码: 2、作用域查找 作用域会在找到第一个标识符时停止,存在“遮蔽效应”。 3 ......
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
欺骗词法不是好主意,会导致性能下降,不要使用他们。
上一篇: 大数据存储易出问题 平台发展需"弹性"
下一篇: 再谈全局网HBase八大应用场景