03 变量和常量
变量
什么是变量
变量是存储数据信息的容器。
变量被认为是有名字的容器。在代码中,使用变量名为值命名,需要遵守一定的规则。
值得注意的是:
- 在 JavaScript 代码中,必须先声明一个变量,这个变量才能被使用。
- JavaScript 中的变量是弱类型的,也称之为松散类型的。所谓弱类型/松散类型就是可以用来保存任何类型的数据。
1 | var v = 100; |
变量的声明
在 JavaScript 代码中,使用变量前应当先声明。变量是使用关键字 var 声明的。
只声明未初始化,变量的值自动取值为 undefined
- 一行代码只声明一个变量:
1 | var sum;// 值为undefined |
- 一行代码声明多个变量
1 | var x, y, z;// 值为undefined |
将变量的声明和初始化合写在一起
- 一行代码只声明一个变量并赋值:
1 | var sum = 100;// 值为 100 |
- 一行代码声明多个变量并赋值:
1 | var x = 0, y = 1, z = 2; |
值得注意的是: 等号(=)是赋值运算符。
命名规则
变量的命名需要遵守一定的规则的,具体规则如下:
- 必须以字母、下划线(_)、美元符号($)开始。
- 不能以数字开头。
- 不能使用关键字和保留字作为名称。
- 由于 JavaScript 是区分大小写的,大写字母与小写字母并不冲突。
- 名称最好有明确的含义。
- 可以采用“下划线命名法”、“小驼峰命名法”或“大驼峰命名法” 之一,在开发团队内进行协调统一。
声明的问题
重复的声明
使用 var 语句重复声明变量是合法且无害的。但是如果重复声明并初始化的,这就表示重复声明并初始化。由于 JavaScript 变量只能存储一个数据,之前存储的数据会被覆盖。
1 | var msg = "this is message";// 值为 this is message |
遗漏的声明
- 直接读取一个没有声明的变量的值,JavaScript会报错。
- 为一个没有声明的变量初始化,是合法的,但并不推荐这样使用。
变量的使用
对声明的变量既可以读取操作,也可以赋值操作。
- 读取操作
1 | var message;// 只声明未初始化 |
- 赋值操作
1 | var message;// 只声明未初始化 |
常量
什么是常量
常量就是一个只读(read-only)的变量。
常量与变量类似,同样用于存储数据信息。只是常量的数据一旦被定义,便不能被修改。
值得注意的是:
- 常量名习惯使用全大写形式。
- ECMAScript 5新增了声明常量使用的关键字 const。
- 如果省略const关键字,JavaScript会认为是一个变量。
常量的声明
- 在 ECMAScript 5 版本前,没有定义常量的语法。使用
var关键字定义变量,人为规定值不改变,也可以是不严格的常量。
1 | var MY_CONST = 10; |
- 在 ECMAScript 5 版本后,提供了关键字
const定义常量。
1 | const MY_FAV = 100; |
值得注意的是: 常量的声明,必须进行初始化操作,否则会报错误。
1 const FOO; // SyntaxError: missing = in const declaration
常量的使用
常量一旦被声明并初始化,值并不能被改变。常量的使用只能进行读取操作:
1 | // 定义常量MY_FAV并赋值7 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!




