JavaScript中变量提升和函数提升的机制是如何影响实例化过程的?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1216个文字,预计阅读时间需要5分钟。
目录+正文+一. 变量提升+二. 函数提升+三. 判断顺序+四. 其他提升+1. 作为import语句的声明是提升的;+对一些计算机语言来说,程序被执行时,对命令的翻译通常是自上而下逐行执行的。
目录
- 正文
- 一.变量提升
- 二.函数提升
- 三.判断顺序
- 四.其他“提升”
- 1.作为import结果的声明是“提升的”;
正文
对一些计算机语言来说,程序被执行时,对命令的翻译通常是自上而下逐行执行的,这通常被称为代码解释;
对另外一些语言来说,这种翻译是预先进行的,被称为代码编译,这样在程序执行的时候,运行的就是已经编译好的、可执行的计算机指令。
JavaScript通常被认为是解释型的,因为每次执行js源码时都需要进行处理。但这么说也不是完全准确的,我们需要知道,JavaScript引擎实际上是动态编译程序,然后立即执行编译后的代码。而JavaScript中的变量声明和函数提升的直接原因就是编译阶段编译器所做的事。
在提升过程中,虽然声明似乎在程序中被提升了,但实际发生的事情是,函数和变量声明在编译阶段被添加到内存中。
本文共计1216个文字,预计阅读时间需要5分钟。
目录+正文+一. 变量提升+二. 函数提升+三. 判断顺序+四. 其他提升+1. 作为import语句的声明是提升的;+对一些计算机语言来说,程序被执行时,对命令的翻译通常是自上而下逐行执行的。
目录
- 正文
- 一.变量提升
- 二.函数提升
- 三.判断顺序
- 四.其他“提升”
- 1.作为import结果的声明是“提升的”;
正文
对一些计算机语言来说,程序被执行时,对命令的翻译通常是自上而下逐行执行的,这通常被称为代码解释;
对另外一些语言来说,这种翻译是预先进行的,被称为代码编译,这样在程序执行的时候,运行的就是已经编译好的、可执行的计算机指令。
JavaScript通常被认为是解释型的,因为每次执行js源码时都需要进行处理。但这么说也不是完全准确的,我们需要知道,JavaScript引擎实际上是动态编译程序,然后立即执行编译后的代码。而JavaScript中的变量声明和函数提升的直接原因就是编译阶段编译器所做的事。
在提升过程中,虽然声明似乎在程序中被提升了,但实际发生的事情是,函数和变量声明在编译阶段被添加到内存中。

