---
title: "IT课程 JavaScript基础 037_字面量、变量、常量"
date: 2024-07-25T09:40:00.000Z
tags: ["IT课程", "HTML课程", "CSS课程", "JavaScript课程", "Java课程", "计算机系统与网络", "JavaScript字面量", "JavaScript变量", "JavaScript常量"]
categories: ["学习", "JavaScript基础"]
canonical: https://www.zhaojian.net/it-course-javascript-037/
author: 赵健
---

### 字面量

字面量是直接出现在代码中的值，例如数字、字符串、布尔值等。

- **数字字面量：** 如 `5`, `3.14`。
- **字符串字面量：** 如 `'Hello, World!'`, `"JavaScript"`。
- **布尔字面量：** `true` 和 `false`。
- **对象字面量：** 如 `{ key: 'value', age: 25 }`。
- **数组字面量：** 如 `[1, 2, 3, 4]`。

示例：

```js
// 数字字面量
var age = 18;

// 字符串字面量
var name = "赵健";

// 布尔字面量
var isStudent = true;

// 数组字面量
var numbers = [1, 2, 3];

// 对象字面量
var person = {name: "赵健", age: 18};
```

### 变量

变量是用来存储数据的容器，可以用来“存储”字面量，变量中存储的字面量可以随意修改，通过变量可以对字面量进行描述，并且变量比较方便修改。变量可以存储任何类型的值（实际上变量中并不存储任何值，而是存储值的内存地址），包括字面量、其他变量的返回值等。使用 var、let 关键字声明变量。

- `var` 关键字声明的变量是全局变量或函数作用域内的变量，可以重复声明 `var` 变量。
- `let` 关键字声明的变量是块作用域内的变量，不能重复声明 `let` 变量。

示例：

```js
// 使用 var 声明（定义）变量
var age = 18;

// 使用 let 声明（定义）变量
let name = "赵健";

// 先声明，后赋值
let name;
name = "赵健";

//一行（次）声明多个变量
let age = 18, name = "赵健";
```

##### 变量命名

变量名是标识符的一种形式，变量名是用来标识存储数据的内存位置的名称。
标识符是用于命名变量、函数、类等的符号或名称。

**命名规则**

- 变量名只能使用字母（含非英文字母）、数字、下划线 (`_`)、美元符号 (`$`) 。
- 变量名首字母不能是数字。
- 变量名不能包含空格或其他特殊符号。
- 变量名不能与 JavaScript 关键字相同。

**命名规范**

- 驼峰命名法：第一个单词首字母小写，其他单词首字母大写。例如：`userName`、`firstName`
- 帕斯卡（大驼峰）命名法：所有单词首字母大写。例如：`UserName`、`FirstName`
- 下划线命名法：单词之间用下划线连接。例如：`user_name`、`first_name`

合规的变量名示例：

```js
let userName;
let hello123;
let age;
let $width;
let _height;
let 名字;
```

不合规的变量名示例：

```js
let 123abc; // 以数字开头
let user name; // 包含空格
let $#; // 包含特殊字符
let function; // 与 JavaScript 关键字相同
```

### 常量

常量是不能（或不想）被修改的值，常量可以使用 `const` 关键字声明，常量只能赋值一次，重复赋值会报错。推荐使用大写字母和下划线来命名这些常量。

示例：

```js
// 使用 const 声明（定义）常量
const PI = 3.14;
const COLOR_RED = "#F00";

// 尝试修改常量
PI = 3.15; // Uncaught TypeError: Assignment to constant variable.
```