news 2026/6/9 21:10:22

HoRain云--JavaScript声明提升全解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--JavaScript声明提升全解析

🎬 HoRain云小助手:个人主页

🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

🔍 提升的底层原理

💡 实用建议与最佳实践

💎 总结


JavaScript 中的声明提升(Hoisting)是其特有的机制,了解它能帮你写出更严谨的代码。下面通过一个表格快速了解其核心规则:

声明类型

是否被提升

初始化值

备注

var变量

✅ 是

undefined

只有声明被提升,赋值留在原地

function函数声明

✅ 是

完整的函数定义

整个函数体都会被提升

函数表达式

⚠️ 仅变量部分

undefined(若使用var)

实质是变量赋值,遵循变量提升规则

let/const变量

❌(概念上)

未初始化(存在暂时性死区)

在声明前访问会报错,行为如同未被提升

🔍 提升的底层原理

声明提升与 JavaScript 的代码执行流程有关。JavaScript 引擎在执行代码前会先进行编译,在这个过程中,它会找到当前作用域内所有的变量和函数声明,并在内存中提前为它们“预留”好空间。

需要明确的是,声明提升是编译阶段​ 发生的,可以理解为引擎在“头脑中”将声明移到了顶部,但代码文件本身并没有被物理移动。

💡 实用建议与最佳实践

理解声明提升主要是为了规避其带来的陷阱,以下是更稳健的编码习惯:

💎 总结

声明提升是 JavaScript 的基础特性。最关键的实践是:在现代开发中,优先使用letconst,并养成先声明后使用的习惯,这样可以最大限度地避免提升带来的混淆。

希望这些解释能帮助你更清晰地理解 JavaScript 声明提升。如果你对某个特定场景有疑问,我很乐意进一步探讨。

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 18:35:28

超强实战指南:用UABEA轻松解锁Unity游戏资源宝藏

超强实战指南:用UABEA轻松解锁Unity游戏资源宝藏 【免费下载链接】UABEA UABEA: 这是一个用于新版本Unity的C# Asset Bundle Extractor(资源包提取器),用于提取游戏中的资源。 项目地址: https://gitcode.com/gh_mirrors/ua/UAB…

作者头像 李华
网站建设 2026/5/25 13:52:56

Thorium浏览器:告别卡顿,开启丝滑浏览新时代

Thorium浏览器:告别卡顿,开启丝滑浏览新时代 【免费下载链接】thorium Chromium fork named after radioactive element No. 90. Windows and MacOS/Raspi/Android/Special builds are in different repositories, links are towards the top of the REA…

作者头像 李华
网站建设 2026/6/9 21:02:34

如何在Windows上快速运行iOS应用:ipasim模拟器终极指南

如何在Windows上快速运行iOS应用:ipasim模拟器终极指南 【免费下载链接】ipasim iOS emulator for Windows 项目地址: https://gitcode.com/gh_mirrors/ip/ipasim 你是否曾经梦想在Windows电脑上运行iOS应用?现在,这个梦想已经成为现实…

作者头像 李华
网站建设 2026/6/9 20:58:32

OpenCore Simplify终极指南:5分钟完成专业级黑苹果配置

OpenCore Simplify终极指南:5分钟完成专业级黑苹果配置 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果EFI配置而烦恼吗…

作者头像 李华
网站建设 2026/6/8 21:15:43

Qwen3-235B-FP8:256K上下文+8大能力全面飞跃

Qwen3-235B-FP8:256K上下文8大能力全面飞跃 【免费下载链接】Qwen3-235B-A22B-Instruct-2507-FP8 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-235B-A22B-Instruct-2507-FP8 国内大语言模型技术再迎新突破,Qwen3系列推出最新2350亿…

作者头像 李华