本文主要是介绍什么是提升 (Hoisting)?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在《在JavaScript 中用`var`, `let`, 以及`const` 有什么差别?什么时候该用哪个?》这篇文章中,曾经提到var
、let
与const
有「提升(hoisting) 的差别」,而这篇文章会更详细的回答提升(hoisting) 究竟是什么。
什么是提升 (hoisting) ?
大部分人应该都曾经在写 JavaScript 代码时,在宣告函式之前就使用它,如下方代码:
sayHello(); // Hellofunction sayHello() {console.log("Hello");
}
但执行这样的代码并不会报错,其原因就是因为提升 (Hoisting)。
提升(Hoisting) 并非ECMAScript® 2015 Language Specification 中的一个正式定义,但它用来形容 JavaScript 编译阶段将变数和函式的宣告存入记忆体的概念。
这个特性会使函式和变量的宣告被提升到作用域的顶部,即使他们的实际定义
这篇关于什么是提升 (Hoisting)?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!