JavaScript变量函数声明提升的原理是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2027个文字,预计阅读时间需要9分钟。
目录+前言:+变量提升+函数提升+为什么要提升+最佳实践+总结+前言:+JavaScript变量函数声明提升(Hoisting)是JavaScript中的一种特性,它改变了变量的声明和初始化的执行顺序,属于预编译的一部分。+
目录
- 前言:
- 变量提升
- 函数提升
- 为什么要提升?
- 最佳实践
- 总结
前言:
Javascript变量函数声明提升(Hoisting)是在 Javascript 中执行上下文工作方式的一种认识(也可以说是一种预编译),从字面意义上看,“变量提升”意味着变量和函数的声明会在物理层面移动到代码的最前面,在代码里的位置是不会动的,而是在编译阶段被放入内存中会和代码顺序不一样。变量函数声明提升虽然对于实际编码影响不大,特别是现在ES6的普及,但作为前端算是一个基础知识,必须掌握的,是很多大厂的前端面试必问的知识点之一。在这里分享,不是什么新鲜的内容,只是作为一个自己的学习笔记,加速对其的理解。
变量知道是ES5中的 var 和 function 中的产物,ES6中的 let 、 const 则不存在有变量提升。
变量提升
JavaScript引擎的工作方式是先解析代码,获取所有声明的变量和函数,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(Hoisting)。
本文共计2027个文字,预计阅读时间需要9分钟。
目录+前言:+变量提升+函数提升+为什么要提升+最佳实践+总结+前言:+JavaScript变量函数声明提升(Hoisting)是JavaScript中的一种特性,它改变了变量的声明和初始化的执行顺序,属于预编译的一部分。+
目录
- 前言:
- 变量提升
- 函数提升
- 为什么要提升?
- 最佳实践
- 总结
前言:
Javascript变量函数声明提升(Hoisting)是在 Javascript 中执行上下文工作方式的一种认识(也可以说是一种预编译),从字面意义上看,“变量提升”意味着变量和函数的声明会在物理层面移动到代码的最前面,在代码里的位置是不会动的,而是在编译阶段被放入内存中会和代码顺序不一样。变量函数声明提升虽然对于实际编码影响不大,特别是现在ES6的普及,但作为前端算是一个基础知识,必须掌握的,是很多大厂的前端面试必问的知识点之一。在这里分享,不是什么新鲜的内容,只是作为一个自己的学习笔记,加速对其的理解。
变量知道是ES5中的 var 和 function 中的产物,ES6中的 let 、 const 则不存在有变量提升。
变量提升
JavaScript引擎的工作方式是先解析代码,获取所有声明的变量和函数,然后再一行一行地运行。这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升(Hoisting)。

