如果JavaScript是一种解释性语言,它如何执行提升。不解释型语言从上到下逐行执行代码。是否有任何类型的编译在后台工作?
“已解释”并不意味着每行在读取时立即执行。Javascript 解释器首先读取整个文件,在此过程中它将信息解析为可执行代码。提升发生在这里:在解析和执行之间。
简而言之,非常简化,提升的工作方式如下:
function),将为其创建一个新的“作用域对象”*var关键字(或其他相关关键字),它会在当前作用域上创建该符号名称(没有 value/ undefined)* 在这里不要过多地解读“对象”这个词,我们谈论的不是 Javascript,而是 Javascript 正在被编译成的中间语言。
因此,在此过程之后,您将获得源代码的一些中间表示,其中定义了范围并在其上保留了本地符号名称。这就是在实际执行任何代码之前将变量名称提升到“顶部”的方式。
| 归档时间: |
|
| 查看次数: |
384 次 |
| 最近记录: |