ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] ## 一个问题 ``` // code1 var a=1 b=a+1 // code2 var a=1 { var a=10 var b=a+1 } // code3 var a=1 func foo(b){ b=a+1 return b } ``` 通过对"a"的作用域观察需要一个中间的记录来描述符号之间的关系(特别是作用于关系) ## 词法作用域 - 一个符号的可见范围称之为它的作用域 - 符号作用域和源代码的书写相关(词法),并在运行时(实例)生效 ## 变量的声明周期 符号(此法)->ASTNode->地址(三地址代码)->操作符(运行时环境)