购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2 变量与常量

先问小伙伴们一个问题:学习一门语言,最先要了解的是什么?

当然是词汇,就像学习英语一样,再简单的一句话,我们也得先弄清楚每一个单词是什么意思,然后才知道一句话说的是什么意思。

同样地,学习JavaScript也是如此。下面先来看一句代码。

var a=10;

英语都是一句话一句话地表述的,上面这行代码就相当于JavaScript中的“一句话”,我们称之为“语句”。在JavaScript中,每一条语句都以英文分号(;)作为结束符。每一条语句都有它特定的功能,这个跟英语一样,每一句话都有它表达的意思。

在JavaScript中,变量与常量就像是英语中的词汇。上面代码中的a就是JavaScript中的变量。

2.2.1 变量

在JavaScript中,变量指的是一个可以改变的量。也就是说,变量的值在程序运行过程中是可以改变的。

1.变量的命名

想要使用变量,我们就得先给它起一个名字(命名),就像每个人都有自己的名字一样。当别人喊你的名字时,你就知道别人喊的是你,而不是其他人。

当JavaScript程序需要使用一个变量时,我们只需要使用这个变量的名字就行了。变量的名字一般是不会变的,但是它的值却可以变。这就像人一样,名字一般都是固定下来的,但是每个人都会改变,都会从小孩成长为青年,然后从青年慢慢变成老人。

在JavaScript中,给一个变量命名,我们需要遵循以下2个方面的原则。

变量由字母、下划线、$或数字组成,并且第一个字母必须是字母、下划线或$。

变量不能是系统关键字和保留字。

上面两句话很简单,也非常重要,一定要字斟句酌,认真理解。从第1点可以知道,变量只可以包含字母(大写或小写都行)、下划线、$或数字,不能包含这4种以外的字符(如空格、%、-、*、/等)。因为很多其他的字符都已经被系统当作运算符。

对于第2点,系统关键字,指的是JavaScript本身“ 已经在使用 ”的名字,我们在给变量命名的时候,是不能使用这些名字的(因为系统要用)。保留字,指的是JavaScript本身“还没使用”的名字,虽然没有使用,但是它们有可能在将来会被使用,所以先保留。JavaScript的关键字和保留字如表2-1、表2-2和表2-3所示。

表2-1 JavaScript关键字

表2-2 ECMA-262标准的保留字

表2-3 浏览器定义的保留字

这里列举了JavaScript常见的关键字和保留字,以方便小伙伴们查询,这里不要求大家记忆。实际上,对于这些关键字,等学到后面,小伙伴们自然而然也就认得了。就算不认得,等需要用的时候再回到这里查一下就行了。

举例:正确的命名

i

lvye_study

_lvye

$str

n123

举例:错误的命名

123n    //不能以数字开头

-study   //不能以中划线开头

my-title  //不能包含中划线

continue  //不能跟系统关键字相同

此外,变量的命名一定要区分大小写,如变量“age”与变量“Age”在JavaScript中是两个不同的变量。

2.变量的使用

在JavaScript中,如果想要使用一个变量,我们一般需要两步。

第1步,变量的声明。

第2步,变量的赋值。

对于变量的声明,小伙伴们记住一句话 :所有JavaScript变量都由var声明 。在这一点上,JavaScript跟C、Java等语言是不同的。

语法

var 变量名=值;

说明

变量的使用语法如图2-1所示。

图2-1 变量的使用语法

举例

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<script>

var a=10;

document.write(a);

</script>

</head>

<body>

</body>

</html>

浏览器预览效果如图2-2所示。

图2-2

分析

在这个例子中,我们使用var来定义一个变量,变量名为a,变量的值为10。然后使用document.write()方法输出这个变量的值。

对于变量的命名,我们尽量采用一些有意义的英文名或英文缩写。当然,为了讲解方便,本书有些变量的命名比较简单。在实际开发中,我们尽量不要太随便。

此外,一个var也可以同时声明多个变量名,其中,变量名之间必须用英文逗号(,)隔开,举例如下。

var a=10,b=20,c=30;

实际上,上面的代码等价于下面的代码。

var a=10;

var b=20;

var c=30;

举例

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<script>

var a=10;

a=12;

document.write(a);

</script>

</head>

<body>

</body>

</html>

浏览器预览效果如图2-3所示。

图2-3

分析

咦,a的值不是10吗?怎么输出12呢?大家别忘了,a是一个变量。变量,简单地说就是一个值会发生改变的量,因此“a=12”会覆盖“a=10”。我们再来看一个例子,就能有更深的理解了。

举例

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<script>

var a=10;

a=a+1;

document.write(a);

</script>

</head>

<body>

</body>

</html>

浏览器预览效果如图2-4所示。

图2-4

分析

“a = a +1”表示a的最终值是在原来a的基础上加1,因此a的最终值为11(10+1=11)。下面的代码中,a的最终值是5,小伙伴们可以思考一下为什么。

var a=10;

a=a+1;

a=a-6;

2.2.2 常量

在JavaScript中,常量指的是一个不能改变的量。也就是说,常量的值从定义开始就是固定的,一直到程序结束都不会改变。

常量,形象地说,就像是千百年来约定俗成的名称,这个名称是定下来的,不能随便改变。

在JavaScript中,我们可以把常量看作一种特殊的变量,之所以特殊,是因为它的值是不会变的。一般情况下,常量名全部采用大写形式,这样一看就知道这个值很特殊,有特殊用途,如var DEBUG = 1。

程序是会变化的,因此变量比常量有用得多。常量在JavaScript的初学阶段用得比较少,我们简单了解即可,不需要过于深入。 H3oFnX9xkrgBYERYa2dNWkGVIUxgcEfjOVP/LZJ8A+pyUWzWDj7OnPdAjc8Wf0B9

点击中间区域
呼出菜单
上一章
目录
下一章
×