JavaScript从入门到精通(微视频精编版)
上QQ阅读APP看书,第一时间看更新

2.2 常量和变量

视频讲解

每一种计算机语言都有自己的数据结构。在JavaScript中,常量和变量是数据结构的重要组成部分。本节将介绍常量和变量的概念以及变量的使用方法。

2.2.1 常量

常量是指在程序运行过程中保持不变的数据。例如,123是数值型常量,“JavaScript脚本”是字符串型常量,true或false是布尔型常量等。在JavaScript脚本编程中可直接输入这些值。

2.2.2 变量

变量是指程序中一个已经命名的存储单元,它的主要作用就是为数据操作提供存放信息的容器。变量是相对常量而言的。常量是一个不会改变的固定值,而变量的值可能会随着程序的执行而改变。变量有两个基本特征,即变量名和变量值。为了便于理解,可以把变量看作是一个贴着标签的盒子,标签上的名字就是这个变量的名字(即变量名),而盒子里面的东西就相当于变量的值。对于变量的使用必须明确变量的命名、变量的声明、变量的赋值以及变量的类型。

1.变量的命名

JavaScript变量的命名规则如下。

 必须以字母或下画线开头,其他字符可以是数字、字母或下画线。

 变量名不能包含空格或加号、减号等符号。

 JavaScript的变量名是严格区分大小写的。例如,UserName与username代表两个不同的变量。

 不能使用JavaScript中的关键字。JavaScript中的关键字如表2.2所示。

表2.2 JavaScript的关键字

说明

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所示。

图2.6 输出球员信息