二维码

JavaScript 变量

JavaScript 变量

变量是存储数据的容器

JavaScript 变量可以通过 4 种方式声明:

  • 自动地
  • 使用var
  • 使用let
  • 使用const

在第一个示例中,x、 yz 是未声明的变量。

它们在第一次使用时会自动声明:

1
2
3
x = 5;  
y = 6;
z = x + y;

笔记

在使用变量之前始终声明变量被认为是良好的编程习惯。

从例子中你可以猜到:

  • x 存储值 5
  • y 存储值 6
  • z 存储值 11
1
2
3
var x = 5;  
var y = 6;
var z = x + y;

笔记

var从 1995 年到 2015 年,所有 JavaScript 代码中都使用了该关键字。

和关键字于 2015letconst添加到 JavaScript 中。

var关键字只能在为旧版浏览器编写的代码中使用。

1
2
3
let x = 5;  
let y = 6;
let z = x + y;

1
2
3
const x = 5;  
const y = 6;
const z = x + y;

1
2
3
const price1 = 5;  
const price2 = 6;
let total = price1 + price2;

这两个变量price1price2 用关键字声明的const

这些是恒定值,无法更改。

该变量total是用关键字声明的let

该值total可以更改。

何时使用 var、let 或 const?

  1. 始终声明变量

const2.如果不应更改值,则始终使用

const3.如果类型不应更改,则始终使用(数组和对象)

4.仅let在不能使用时才使用const

  1. var当您必须支持旧浏览器时才使用。

就像代数一样

就像代数中一样,变量保存值:

1
2
let x = 5;  
let y = 6;

就像代数中一样,变量在表达式中使用:

1
let z = x + y;

从上面的示例中,您可以猜测计算出的总数为 11。

笔记

变量是存储值的容器。

JavaScript 标识符

所有 JavaScript变量都必须 用唯一的名称来****标识

这些唯一的名称称为标识符

标识符可以是短名称(如 x 和 y)或更具有描述性的名称(年龄、总和、总成交量)。

构造变量名称(唯一标识符)的一般规则是:

  • 名称可以包含字母、数字、下划线和美元符号。
  • 名称必须以字母开头。
  • 名称也可以以 $ 和 _ 开头(但我们不会在本教程中使用它)。
  • 名称区分大小写(y 和 Y 是不同的变量)。
  • 保留字(如 JavaScript 关键字)不能用作名称。

笔记

JavaScript 标识符区分大小写。


赋值运算符

在 JavaScript 中,等号 ( =) 是“赋值”运算符,而不是“等于”运算符。

这与代数不同。以下内容在代数中没有意义:

1
x = x + 5

然而,在 JavaScript 中,它是完全有意义的:它将 x + 5 的值分配给 x。

(它计算 x + 5 的值并将结果放入 x 中。x 的值增加 5。)

笔记

“等于”运算符的编写方式==与 JavaScript 类似。


JavaScript 数据类型

JavaScript 变量可以保存诸如 100 之类的数字和诸如“John Doe”之类的文本值。

在编程中,文本值称为文本字符串。

JavaScript 可以处理多种类型的数据,但现在只考虑数字和字符串。

字符串写在双引号或单引号内。数字不带引号书写。

如果将数字放在引号中,它将被视为文本字符串。

1
2
3
const pi = 3.14;  
let person = "John Doe";
let answer = 'Yes I am!';


声明 JavaScript 变量

在 JavaScript 中创建变量称为“声明”变量。

var您可以使用或关键字声明 JavaScript 变量let

1
var carName;

或者:

1
let carName;

声明后,变量没有值(技术上它是undefined)。

要为变量赋值,请使用等号:

1
carName = "Volvo";

您还可以在声明变量时为其赋值:

1
let carName = "Volvo";

在下面的示例中,我们创建一个名为“Volvo”的变量carName并为其分配值“Volvo”。

然后我们将值“输出”到 id=“demo” 的 HTML 段落中:

1
2
3
4
5
<p id="demo"></p>  
<script>
let carName = "Volvo";
document.getElementById("demo").innerHTML = carName;
</script>

笔记

在脚本开头声明所有变量是一种很好的编程习惯。


一个陈述,许多变量

您可以在一条语句中声明多个变量。

语句以 开头并用逗号let分隔变量:

1
let person = "John Doe", carName = "Volvo", price = 200;

一个声明可以跨越多行:

1
2
3
let person = "John Doe",  
carName = "Volvo",
price = 200;


值=未定义

在计算机程序中,变量声明时通常不带值。该值可以是必须计算的值,也可以是稍后提供的值,例如用户输入。

未声明值的变量将具有值 undefined

undefined执行此语句后,变量 carName 将具有值:

1
let carName;


重新声明 JavaScript 变量

如果您重新声明用 声明的 JavaScript 变量var,它不会丢失其值。

carName执行这些语句后,该变量仍将具有值“Volvo”:

1
2
var carName = "Volvo";  
var carName;

笔记

您不能重新声明用let或声明的变量const

这是行不通的:

1
2
let carName = "Volvo";  
let carName;

JavaScript 算术

与代数一样,您可以使用 JavaScript 变量进行算术运算,使用运算符=+

1
let x = 5 + 2 + 3;  

您还可以添加字符串,但字符串将被连接:

1
let x = "John" + " " + "Doe";

也试试这个:

1
let x = "5" + 2 + 3;  

笔记

如果将数字放在引号中,则其余数字将被视为字符串并连接起来。

现在试试这个:

1
let x = 2 + 3 + "5";  


JavaScript 美元符号 $

由于 JavaScript 将美元符号视为字母,因此包含 $ 的标识符是有效的变量名称:

1
2
3
let $ = "Hello World";  
let $$$ = 2;
let $myMoney = 5;

在 JavaScript 中使用美元符号并不常见,但专业程序员经常将其用作 JavaScript 库中 main 函数的别名。

例如,在 JavaScript 库 jQuery 中,main 函数 $用于选择 HTML 元素。在 jQuery 中$("p");意味着“选择所有 p 元素”。


JavaScript 下划线 (_)

由于 JavaScript 将下划线视为字母,因此包含 _ 的标识符是有效的变量名称:

1
2
3
let _lastName = "Johnson";  
let _x = 2;
let _100 = 5;

在 JavaScript 中使用下划线并不常见,但专业程序员之间的惯例是将其用作“私有(隐藏)”变量的别名。