发布于 2026-01-06 2 阅读
0

JavaScript 中的 Hoisting 是什么?😰😰 看看我的 JavaScript 书吧!

JavaScript 中的 Hoisting 是什么😰😰

来看看我的 JavaScript 书吧!

提升并非指将函数和变量移动到顶部。
实际上,从技术角度来说,它们并没有发生任何移动。

这种情况发生在函数声明时,整个函数
已经加载到内存中。

对于变量声明,JavaScript 引擎在创建时会将其初始化为“undefined”值。我使用调试器在第 6 行停止了正在运行的代码。

例如
吊装

你有没有注意到上图中 JavaScript 的初始化值已经是“undefined”?

每当 JavaScript 引擎运行第 6 行时,它都会将 undefined 更新为 'hoisting'。

对于函数,整个函数会被添加到内存空间中。

这就是为什么我们可以在文件中的任何位置调用函数,但不能调用变量的原因。对于变量,我们只能在它首次声明时使用一次。

你检查过 let 和 var 关键字的提升机制吗?

如果在声明之前尝试访问变量,JavaScript 引擎会因使用“let”关键字而报错。

吊装

对于“var”变量,没有显示任何错误。
吊装

希望你们喜欢这些。

来看看我的 JavaScript 书吧!

文章来源:https://dev.to/sait/what-is-hoisting-in-javascript-2jkm