![JavaScript从入门到精通(微视频精编版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/726/32463726/b_32463726.jpg)
2.2 常量和变量
![](https://epubservercos.yuewen.com/FAB06F/17527145906009606/epubprivate/OEBPS/Images/Figure-P38_2775.jpg?sign=1739522854-U65x7gwwlZU8qEuTA2lAUbZssU0a54UF-0-898ee95047ac4edf837348abf806e278)
视频讲解
每一种计算机语言都有自己的数据结构。在JavaScript中,常量和变量是数据结构的重要组成部分。本节将介绍常量和变量的概念以及变量的使用方法。
2.2.1 常量
常量是指在程序运行过程中保持不变的数据。例如,123是数值型常量,“JavaScript脚本”是字符串型常量,true或false是布尔型常量等。在JavaScript脚本编程中可直接输入这些值。
2.2.2 变量
变量是指程序中一个已经命名的存储单元,它的主要作用就是为数据操作提供存放信息的容器。变量是相对常量而言的。常量是一个不会改变的固定值,而变量的值可能会随着程序的执行而改变。变量有两个基本特征,即变量名和变量值。为了便于理解,可以把变量看作是一个贴着标签的盒子,标签上的名字就是这个变量的名字(即变量名),而盒子里面的东西就相当于变量的值。对于变量的使用必须明确变量的命名、变量的声明、变量的赋值以及变量的类型。
1.变量的命名
JavaScript变量的命名规则如下。
必须以字母或下画线开头,其他字符可以是数字、字母或下画线。
变量名不能包含空格或加号、减号等符号。
JavaScript的变量名是严格区分大小写的。例如,UserName与username代表两个不同的变量。
不能使用JavaScript中的关键字。JavaScript中的关键字如表2.2所示。
表2.2 JavaScript的关键字
![](https://epubservercos.yuewen.com/FAB06F/17527145906009606/epubprivate/OEBPS/Images/Figure-T38_38351.jpg?sign=1739522854-cm29uZhNiiBcdaTB1OK4ovUl7h49MukR-0-4848fe684b1023a7588a69df5215bf87)
说明
JavaScript关键字(Reserved Words)是指在JavaScript语言中有特定含义,成为JavaScript语法中一部分的那些字。JavaScript关键字是不能作为变量名和函数名使用的。使用JavaScript关键字作为变量名或函数名,会使JavaScript在载入过程中出现语法错误。
说明
虽然JavaScript的变量可以任意命名,但是在进行编程时,最好还是使用便于记忆、且有意义的变量名称,以增加程序的可读性。
2.变量的声明
在JavaScript中,JavaScript变量由关键字var声明,语法格式如下:
var variablename;
variablename是声明的变量名,例如,声明一个变量username,代码如下:
var username; //声明变量username
另外,可以使用一个关键字var同时声明多个变量,例如:
var a,b,c; //同时声明a、b和c 3个变量
3.变量的赋值
在声明变量的同时也可以使用等于号(=)对变量进行初始化赋值,例如,声明一个变量lesson并对其进行赋值,值为一个字符串“零基础学JavaScript”,代码如下:
var lesson="零基础学JavaScript"; //声明变量并进行初始化赋值
另外,还可以在声明变量之后再对变量进行赋值,例如:
01 var lesson; //声明变量 02 lesson="零基础学JavaScript"; //对变量进行赋值
在JavaScript中,变量可以不先声明而直接对其进行赋值。例如,给一个未声明的变量赋值,然后输出这个变量的值,代码如下:
01 str = "这是一个未声明的变量"; //给未声明的变量赋值 02 document.write(str); //输出变量的值
运行结果为:
这是一个未声明的变量
虽然在JavaScript中可以给一个未声明的变量直接进行赋值,但是建议在使用变量前就对其声明,因为声明变量的最大好处就是能及时发现代码中的错误。由于JavaScript是采用动态编译的,而动态编译是不易于发现代码中的错误的,特别是变量命名方面的错误。
说明
(1)如果只是声明了变量,并未对其赋值,则其值默认为undefined。
(2)可以使用var语句重复声明同一个变量,也可以在重复声明变量时为该变量赋一个新值。
例如,声明一个未赋值的变量a和一个进行重复声明的变量b,并输出这两个变量的值,代码如下:
01 var a; //声明变量a 02 var b = "你好JavaScript"; //声明变量b并初始化 03 var b = "零基础学JavaScript"; //重复声明变量b 04 document.write(a); //输出变量a的值 05 document.write("<br>"); //输出换行标记 06 document.write(b); //输出变量b的值
运行结果为:
undefined 零基础学JavaScript
注意
在JavaScript中的变量必须要先定义(用var关键字声明或给一个未声明的变量直接赋值)后使用,没有定义过的变量不能直接使用。
4.变量的类型
变量的类型是指变量的值所属的数据类型,可以是数值型、字符串型和布尔型等,因为JavaScript是一种弱类型的程序语言,所以可以把任意类型的数据赋值给变量。
例如,先将一个数值型数据赋值给一个变量,在程序运行过程中,可以将一个字符串型数据赋值给同一个变量,代码如下:
01 var num=100; //定义数值型变量 02 num="有一条路,走过了总会想起" ; //定义字符串型变量
【例2.04】科比·布莱恩特是前NBA最著名的篮球运动员之一。将科比的别名、身高、总得分、主要成就以及场上位置分别定义在不同的变量中,并输出这些信息,关键代码如下:(实例位置:资源包\源码\02\2.04)
01 <script type="text/javascript"> 02 var alias = "小飞侠"; //定义别名变量 03 var height = 198; //定义身高变量 04 var score = 33643; //定义总得分变量 05 var achievement = "五届NBA总冠军"; //定义主要成就变量 06 var position = "得分后卫/小前锋"; //定义场上位置变量 07 document.write("别名:"); //输出字符串 08 document.write(alias); //输出变量alias的值 09 document.write("<br>身高:"); //输出换行标记和字符串 10 document.write(height); //输出变量height的值 11 document.write("厘米<br>总得分:"); //输出换行标记和字符串 12 document.write(score); //输出变量score的值 13 document.write("分<br>主要成就:"); //输出换行标记和字符串 14 document.write(achievement); //输出变量achievement的值 15 document.write("<br>场上位置:"); //输出换行标记和字符串 16 document.write(position); //输出变量position的值 17 </script>
实例运行结果如图2.6所示。
![](https://epubservercos.yuewen.com/FAB06F/17527145906009606/epubprivate/OEBPS/Images/Figure-P41_38372.jpg?sign=1739522854-EThvimmzdKwaEO6CBIKSyz1ujAVv07Ql-0-70449d94172cad34ba90190069b894f3)
图2.6 输出球员信息