Logo
Section 1 / 14

变量

了解变量的特性以及如何在 JavaScript 中声明变量。

导入

变量

了解变量的特性以及如何在 JavaScript 中声明变量。

变量的作用

计算机程序使用变量来存储数据。一个变量是一个信息存储区域。我们可以将其想象成一个盒子,可以在其中放入并保存物品!

变量的属性

变量有三个主要属性:

  • 它的名称,用于标识该变量。变量名可以包含大小写字母、数字(不能以数字开头)以及美元符号($)或下划线(_)等字符。
  • 它的值,即存储在变量中的数据。
  • 它的类型,决定了变量的角色和可执行的操作。

在 JavaScript 中,你不需要显式定义变量类型。变量的类型由其存储的值推断而来,并且在程序运行过程中可能会改变。因此我们说 JavaScript 是一种 动态类型 语言。而像 C 或 Java 这样的其他语言要求变量类型必须始终明确指定,这称为 静态类型。

声明变量

在将信息存入变量之前,必须先创建它!这个过程称为声明变量。声明变量意味着计算机为该变量预留内存空间,以便后续通过操作变量读取或写入数据。

下面是一个声明变量并显示其内容的代码示例:

1let a; 2console.log(a);

在 JavaScript 中,使用 let 关键字后跟变量名来声明变量。在这个例子中,创建的变量名为 a。

早期版本的 JavaScript 使用 var 关键字来声明变量。

请注意,我们仍然可以使用 var 关键字来声明变量。

注意,输出结果是 undefined。这是 JavaScript 中的一个特殊类型,表示没有值。我声明了变量并命名为 a,但并未赋予它任何值!

给变量赋值

在程序运行期间,变量中存储的值是可以改变的。要给变量赋予新值,使用 = 操作符,称为赋值操作符。请看下面的例子:

1let a; 2a = 3.14; 3console.log(a);

我们通过赋值修改了变量。a = 3.14 的含义是“a 接收值 3.14”。

注意不要将赋值操作符 = 与数学上的等号混淆!稍后你会学习如何在 JavaScript 中表达相等关系。

你也可以在同一行中同时声明变量并赋值。需要注意的是,在这一行代码中,实际上同时完成了两个不同的操作:

1let a = 3.14; 2console.log(a);

当数值非常大时(例如一万亿),可以使用数字分隔符 _ 来提高可读性。这种用法也适用于二进制和十六进制数值。

声明常量变量

如果一个变量的初始值在整个程序执行过程中都不会改变,那么这个变量被称为常量。可以通过使用 const 关键字代替 let 来声明变量,从而强制其不可更改。这样可以让程序更具表达性,并能提前发现试图修改该变量的错误。

1const a = 3.14; // a 的值不能被修改 2a = 6.28; // 不可能!

增加数值变量的值

你还可以使用 += 和 ++ 来增加数值变量的值。后者称为自增操作符,它可以使变量的值增加 1。

在下面的例子中,第 2 行和第 3 行都使变量 b 的值增加了 1。

1let b = 0; // b 的值为 0 2b += 1; // b 的值变为 1 3b++; // b 的值变为 2 4console.log(b); // 输出 2

变量的作用域

变量的作用域是指变量在程序中可见并可用的部分。使用 let 或 const 声明的变量具有块级作用域:它们的可见性仅限于声明所在的代码块(以及其中的所有嵌套子块)。在 JavaScript 和许多其他编程语言中,代码块是由一对花括号 {} 包围的程序片段。默认情况下,一个 JavaScript 程序本身就是一个代码块。

1let num1 = 0; 2{ 3 num1 = 1; // 正确:num1 在父级块中已声明 4 const num2 = 0; 5} 6console.log(num1); // 正确:num1 在当前块中已声明 7console.log(num2); // 错误!num2 在此处不可见

JavaScript 基础

表达式