🎬 HoRain云小助手:个人主页
🔥 个人专栏: 《Linux 系列教程》《c语言教程》
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
专栏介绍
专栏名称 | 专栏介绍 |
《C语言》 | 本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。 |
《网络协议》 | 本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制! |
《docker容器精解篇》 | 全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。 |
《linux系列》 | 本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。 |
《python 系列》 | 本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。 |
《试题库》 | 本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等) |
目录
⛳️ 推荐
专栏介绍
💡 变量声明与使用要点
✅ 最佳实践总结
在 JavaScript 中,变量是存储数据的核心容器。下面这个表格能帮你快速抓住不同类型变量声明的关键区别。
特性 |
|
|
|
|---|---|---|---|
作用域 | 函数作用域或全局作用域 | 块级作用域 | 块级作用域 |
重复声明 | ✅ 允许 | ❌ 不允许 | ❌ 不允许 |
变量提升 | ✅ 提升且初始化为 | ✅ 提升但不初始化(暂时性死区) | ✅ 提升但不初始化(暂时性死区) |
值能否改变 | ✅ 可以 | ✅ 可以 | ❌ 不可以(对于基本数据类型) |
💡 变量声明与使用要点
声明与赋值:使用
var、let或const关键字后跟变量名即可声明变量。变量声明可以在赋值之前,或者声明的同时赋值。如果只声明不赋值,变量的初始值为undefined。变量命名:JavaScript 变量名区分大小写(如
myVar和myvar是两个不同的变量),且必须以字母、下划线或美元符号开头,后续可以是字母、数字、下划线或美元符号。 建议使用驼峰命名法(如userName),并确保名称具有描述性以提高代码可读性。选择声明关键字:在现代 JavaScript 开发中,优先使用
const,除非你确定这个变量的值需要被重新赋值,这时才使用let。 基本数据类型(如字符串、数字)的const变量不可重新赋值,但对象或数组这类引用数据类型的内部属性或元素是可以修改的。 通常建议避免使用var,因其函数作用域和变量提升特性可能导致意外结果。理解作用域:作用域决定了变量在代码中的可访问范围。
var声明的变量属于函数作用域(在函数内部声明的变量只能在函数内部访问)或全局作用域(在函数外部声明的变量在整个脚本中都可访问)。let和const声明的变量属于块级作用域,它们只在自己的代码块(通常由{}界定,如if语句、for循环的内部)内有效。注意作用域链:当访问一个变量时,JavaScript 引擎会首先在当前作用域查找。如果没找到,会逐级向上层作用域查找,直到全局作用域。如果全局作用域也没有,则会报错。这种层级查找关系形成了作用域链。
谨慎处理变量提升:使用
var声明的变量会被提升到其作用域的顶部。这意味着你可以在声明前使用变量而不会报错,但此时变量的值为undefined。 而let和const虽然也存在提升,但在声明之前访问会触发暂时性死区并导致错误。因此,建议总是先声明后使用变量。利用闭包:闭包是指一个函数能够记住并访问其词法作用域中的变量,即使该函数在其作用域之外执行。 闭包在创建私有变量、实现函数工厂等方面非常有用。
✅ 最佳实践总结
首选
const,次选let,避免var。为变量起个有意义的名字,使用驼峰命名法。
尽量将变量的作用域限制在最小范围内,避免不必要的全局变量。
始终在使用前声明变量,避免因变量提升和暂时性死区产生意外。
理解基本数据类型和引用数据类型的区别,这对于正确使用
const很重要。
希望这些解释能帮助你更牢固地掌握 JavaScript 变量。如果在具体的应用上还有疑问,我很乐意提供进一步的探讨。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙