首页 > 编程笔记 > JavaScript笔记
阅读:18
JavaScript变量的声明和使用(非常详细)
在程序执行过程中,JavaScript 用变量来保存可能发生变化的数据。
为了便于区分变量,开发者可以给每个变量起一个简洁明了、容易记住的名字,也就是“变量名”。变量名指向计算机内存中的某个地址,真正的数据存储在内存中。这和日常生活中取快递的过程存在相似之处。
在日常生活中,当快递被送到快递超市后,快递超市会给顾客发送一个“提货码”,之后顾客可以通过出示“提货码”给快递超市的服务人员,从而拿到自己的快递。在这个过程中,“快递超市”相当于“内存”,顾客在网上购买的物品相当于存在“内存”中的“变量”,“提货码”相当于“变量名”,顾客不需要知道自己的“物品”存在快递超市的哪个位置,只需通过“提货码”就可以找到自己的“物品”。
1) 使用关键字 var 一次声明一个或多个变量,不同变量间使用逗号隔开。示例如下:
2) 声明变量时可以不初始化,此时其值默认为 undefined;也可以在声明变量的同时初始化变量。示例如下:
3) 声明变量时不初始化,使用赋值语句赋值。示例如下:
4) 不使用关键字 var 声明,直接使用变量。笔者不建议这样声明,通常的做法是在使用变量前先声明。示例如下:
JavaScript中标识符的定义需要遵循以下规则:
关键字是指 JavaScript 中一些带有特殊含义的名称,它们是语言结构的一部分。JavaScript 中常见关键字如下表所示:
保留字是指当前 JavaScript 版本中没有用到,但是将来可能用到的关键字。 JavaScript 常见的保留字如下表所示:
变量命名,示例如下:
命名规范是一种约定,也是程序员之间良好沟通的桥梁。命名时,可以采用一些常见的命名法,例如驼峰式命名法和帕斯卡命名法。
为变量命名时,尽量遵循以下规范:
1) 变量声明时没有初始化直接使用,此时变量的值是 undefined。示例如下:
2) 变量没有声明,直接使用会报错。例如:

图 1 Chrome浏览器控制台中的报错信息
为了便于区分变量,开发者可以给每个变量起一个简洁明了、容易记住的名字,也就是“变量名”。变量名指向计算机内存中的某个地址,真正的数据存储在内存中。这和日常生活中取快递的过程存在相似之处。
在日常生活中,当快递被送到快递超市后,快递超市会给顾客发送一个“提货码”,之后顾客可以通过出示“提货码”给快递超市的服务人员,从而拿到自己的快递。在这个过程中,“快递超市”相当于“内存”,顾客在网上购买的物品相当于存在“内存”中的“变量”,“提货码”相当于“变量名”,顾客不需要知道自己的“物品”存在快递超市的哪个位置,只需通过“提货码”就可以找到自己的“物品”。
JavaScript变量的声明
JavaScript 声明变量的语法有以下几种方式。1) 使用关键字 var 一次声明一个或多个变量,不同变量间使用逗号隔开。示例如下:
// 一次声明一个变量 var age; // 一次声明多个变量 var age, userName, gender;var 是 JavaScript 关键字,用来声明变量。使用该关键字声明变量后,计算机会自动为变量分配内存空间。age、userName、gender 代表变量名,开发者可以通过变量名来访问变量在内存中分配的空间。
2) 声明变量时可以不初始化,此时其值默认为 undefined;也可以在声明变量的同时初始化变量。示例如下:
var age = 20; // 声明的同时初始化变量 var age = 20, userName, gender = '男'; // 声明的同时初始化部分变量 var age = 20, userName = '冰墩墩', gender = '男'; // 声明的同时初始化全部变量运算符“=”把右边的值赋到左边的变量存储空间中,此处“=”代表赋值的意思。变量值是保存到变量存储空间里的值。
3) 声明变量时不初始化,使用赋值语句赋值。示例如下:
var age; // 声明变量 age,没有初始化 age = 20; // 将变量 age 赋值为 20
4) 不使用关键字 var 声明,直接使用变量。笔者不建议这样声明,通常的做法是在使用变量前先声明。示例如下:
age = 20; // 没有使用 var 声明,直接给变量 age 赋值为 20 console.log(age); // 输出:20
JavaScript 声明变量时可以不初始化,但对变量进行初始化是一个良好的编程习惯。
JavaScript变量命名规则与规范
1) 变量命名规则
项目开发中,需要自定义一些符号来代表一些名称,如变量名、函数名、数组名、对象名等,这些符号称为标识符。JavaScript中标识符的定义需要遵循以下规则:
- 第一个字符必须是字母、下画线或美元符号,其后的字符可以是字母、数字、下画线或美元符号;
- 不能包含空格;
- 不能包含“+”、“-”、“@”、“#”等特殊字符;
- 不能和 JavaScript 中的关键字及保留字同名;
- 区分字母大小写。
关键字是指 JavaScript 中一些带有特殊含义的名称,它们是语言结构的一部分。JavaScript 中常见关键字如下表所示:
break | Case | catch | continue | delete |
default | Debugger | do | else | finally |
for | Function | if | instanceof | in |
new | Return | switch | throw | this |
try | Typeof | var | void | while |
保留字是指当前 JavaScript 版本中没有用到,但是将来可能用到的关键字。 JavaScript 常见的保留字如下表所示:
abstract | Boolean | char | class | double |
export | Extends | final | float | goto |
import | Int | interface | long | native |
public | Protected | private | package | super |
变量命名,示例如下:
var var; // 错误。var 是关键字 var 1name; // 错误。变量名不能以数字开头 var user name; // 错误。变量名不能包含空格 var $userName; // 正确 var user+Name; // 错误。变量名不能包含 “+” “-” “@” “#” 等特殊字符 var userName; // 正确 var UserName; // 正确。userName 和 UserName 是不同的两个变量名避免使用 name 作为变量名。JavaScript 中 name 既不是保留字,也不是关键字,因此用作变量时并不会报错。但 Firefox、Safari、Chrome 和 Opera 等浏览器内置了一个非标准的 name 属性,因此在这些浏览器中使用 name 作为变量名,可能会导致一些预料之外的行为或冲突。
2) 变量命名规范
为变量命名时,不仅要遵守命名规则,还要遵循命名规范。命名规范是一种约定,也是程序员之间良好沟通的桥梁。命名时,可以采用一些常见的命名法,例如驼峰式命名法和帕斯卡命名法。
- 驼峰式命名法:第一个单词以小写字母开头,从第二个单词开始每个单词首字母都采用大写字母,例如 myFirstName、myLastName。
- 帕斯卡命名法:每个单词首字母均大写,例如 MyFirstName、MyLastName。
为变量命名时,尽量遵循以下规范:
- 使用简单易识别的单词。比如需要为“成绩”起名,可以用 score 表示。
- 描述要准确,符合语义,以清晰为主、简洁为辅。比如 value 和 data 都表示一个值,但是并不知道它代表的是什么值,应起见名知义的名字,例如 inputValue 和 outputData。
JavaScript变量的使用
使用变量时,有以下两种特殊情况。1) 变量声明时没有初始化直接使用,此时变量的值是 undefined。示例如下:
var age; // 声明变量 age,没有初始化 console.log(age); // 输出:age 的值是 undefined
2) 变量没有声明,直接使用会报错。例如:
console.log(age);// 没有声明变量age,输出age的值上述代码在 Chrome 浏览器控制台中的报错信息如下图所示:

图 1 Chrome浏览器控制台中的报错信息