当前位置:首页 > 教程 > 正文内容

什么是变量 - JavaScript基础知识

唐朝2年前 (2024-04-20)教程948

如果将变量想象成一个“数据”的盒子,盒子上有一个唯一的标注盒子名字的贴纸。这样我们能更轻松地掌握“变量”的概念。例如,变量 message 可以被想象成一个标有 "message" 的盒子,盒子里面的值为 "你好!"。我们可以在盒子内放入任何值。并且,这个盒子的值,我们想改变多少次,就可以改变多少次。当值改变的时候,之前的数据就被从变量中删除了,我们还可以声明两个变量,然后将其中一个变量的数据拷贝到另一个变量。

下面是变量的一些说明

明确变量用途

在变量声明时,尽量明确其用途和作用域。使用let声明局部变量,确保其在当前作用域内有效。对于全局变量,考虑是否有必要使用window对象或模块化导入导出机制来管理,以避免污染全局命名空间。

避免单行多变量声明

虽然可以一行声明多个变量,但为了提高代码可读性和可维护性,建议每行只声明一个变量。这样可以清晰地看到每个变量的名称、类型和初始值,便于后续查阅和修改。

// 不推荐
let user = '唐朝', age = 20, message = '你好';

// 推荐
let user = '唐朝';
let age = 20;
let message = '你好';

统一变量声明风格

选择一种团队认可的变量声明风格并保持一致。可以是每行一个变量。关键在于整个项目或代码库中要保持统一,避免混用不同风格造成混乱。

优先使用const

除非明确需要更改变量值,否则优先使用const声明变量。这样可以减少意外修改变量值导致的错误,并传达给其他开发者此变量不应被改变的信息。对于可能变化的值,再使用let声明。

// 声明常量
const COLOR_RED = "#F00";
const COLOR_GREEN = "#0F0";

// 声明可变变量
let counter = 0;

遵循变量命名约定

驼峰式命名:对于多单词组成的变量名,采用驼峰式命名。如:userName、imgName。

避免短名和无意义名称:避免使用缩写和过于简短的名称,除非它们在当前上下文中具有广泛认知和接受度。例如,避免使用a、b、c作为变量名,除非它们代表数学矩阵、数组索引等具有明确语境的含义。

有意义的名称:变量名应准确描述其所存储的数据。例如,使用userId而非简单的data或value。

团队术语一致性:确保变量命名与团队内部术语保持一致。例如,如果团队内部将网站访问者称为“用户”,则应使用olduser、newUser等相关的变量名。


避免变量重用

避免在同一作用域内重用变量存储不同类型或用途的数据。为不同数据创建新的变量,即使它们在某种程度上相关。这样做有助于提高代码可读性和可维护性,减少潜在的逻辑错误,并有利于JavaScript引擎进行优化。

使用let替代var

现代JavaScript开发中,推荐使用let和const替代var进行变量声明。var存在一些历史遗留问题,如变量提升、函数作用域等,可能导致意料之外的行为。除非是在维护旧代码库或有特定需求的情况下,否则应避免使用var。

总结

我们可以使用 var、let 或 const 声明变量来存储数据。

let — 现代的变量声明方式。

var — 老旧的变量声明方式。一般情况下,我们不会再使用它。

const — 类似于 let,但是变量的值无法被修改。

变量应当以一种容易理解变量内部是什么的方式进行命名。

扩展阅读(为什么不用var)

var 声明与 let 相似。大部分情况下,我们可以用 let 代替 var 或者 var 代替 let,都能达到预期的效果,但实际上 var 却是一头非常不同的,源自远古时代的怪兽。在现代脚本中一般不再使用它,但它仍然潜伏在旧脚本中。

var 与 let/const 有两个主要的区别:

var 声明的变量没有块级作用域,它们仅在当前函数内可见,或者全局可见(如果变量是在函数外声明的)。

var 变量声明在函数开头就会被处理(脚本启动对应全局变量)。

这些差异使 var 在大多数情况下都比 let 更糟糕。块级作用域是这么好的一个东西。这就是 let 在几年前就被写入到标准中的原因,并且现在(与 const 一起)已经成为了声明变量的主要方式。

    文档如有描述不清楚、错误或者过时的地方,欢迎留言指出。

    文档、教程内容会不定时更新,转载请标明原帖链接,以免让过时的教程流入网络。

    分享给朋友:

    “什么是变量 - JavaScript基础知识” 的相关文章

    DOM的对象-JavaScript对象模型

    DOM ,一种标准编程接口,它将 HTML 文档视为树形结构(节点层次)的对象模型,允许程序和脚本动态更新、添加、删除或修改网页内容和样式。一、节点和节点树配套演示说明案例<!DOCTYPE html> <html lang="zh-Hans&quo...

    事件概括 - JavaScript事件处理

    HTML DOM使JavaScript有能力对HTML事件做出反应,可以在事件发生时执行JavaScript。事件介绍JavaScript事件是指在浏览器窗体或者HTML元素上发生的浏览器或者用户行为,页面上的每个元素都可以产生某些事件。窗口事件window(窗口)事件是指当用户与页面上的元素交互时...

    window事件(窗口事件)- JavaScript事件处理

    window(窗口)事件是指当用户与页面上的元素交互时所触发的事件。1、加载事件(load)当整个页面(包括所有框架、样式表、图像等资源)完全加载完成时触发。常用于在文档加载完成后执行脚本,确保DOM结构完整可用。<!DOCTYPE html> <html l...

    课程简介

    本课程通过实践操作为导向,带领学生们逐步学习并掌握Web前端开发技术。我们选择了一些基础的实践项目作为教学案例,旨在让学生们通过真实的项目实践,深入理解并熟练运用HTML、CSS和JavaScript等前端技术,从而构建出功能完善、界面美观的网页。 课程内容与特色l 从零开始,逐...