首页 > 编程笔记 > JavaScript笔记 阅读:18

JavaScript变量的声明和使用(非常详细)

在程序执行过程中,JavaScript 用变量来保存可能发生变化的数据。

为了便于区分变量,开发者可以给每个变量起一个简洁明了、容易记住的名字,也就是“变量名”。变量名指向计算机内存中的某个地址,真正的数据存储在内存中。这和日常生活中取快递的过程存在相似之处。

在日常生活中,当快递被送到快递超市后,快递超市会给顾客发送一个“提货码”,之后顾客可以通过出示“提货码”给快递超市的服务人员,从而拿到自己的快递。在这个过程中,“快递超市”相当于“内存”,顾客在网上购买的物品相当于存在“内存”中的“变量”,“提货码”相当于“变量名”,顾客不需要知道自己的“物品”存在快递超市的哪个位置,只需通过“提货码”就可以找到自己的“物品”。

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 中常见关键字如下表所示:

表 1 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 常见的保留字如下表所示:

表 2 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) 变量命名规范

为变量命名时,不仅要遵守命名规则,还要遵循命名规范。

命名规范是一种约定,也是程序员之间良好沟通的桥梁。命名时,可以采用一些常见的命名法,例如驼峰式命名法和帕斯卡命名法
为变量命名时,尽量遵循以下规范:

JavaScript变量的使用

使用变量时,有以下两种特殊情况。

1) 变量声明时没有初始化直接使用,此时变量的值是 undefined。示例如下:
var age; // 声明变量 age,没有初始化
console.log(age); // 输出:age 的值是 undefined

2) 变量没有声明,直接使用会报错。例如:
console.log(age);// 没有声明变量age,输出age的值
上述代码在 Chrome 浏览器控制台中的报错信息如下图所示:


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

相关文章