JavaScript+jQuery网页特效设计任务驱动教程(第2版)
上QQ阅读APP看书,第一时间看更新

1.8 JavaScript的变量

微课

JavaScript的变量

1.变量的概念与命名

变量是内存中存取数据的容器。

例如:

在JavaScript中,这些字母被称为变量。

JavaScript变量可用于存放常量数值(如x=2)和表达式的值(如z=x+y)。

变量可以使用短名称(如x和y),也可以使用描述性更好的名称(如name、age、sum、total、volume)。

变量名必须以字母开头,中间可以出现字母、数字、下画线(_),变量名不能有空格、+、-等字符,JavaScript的关键字不能作变量名。JavaScript变量的名称也允许以$和_符号开头,不过不推荐这么做。

变量名称对大小写敏感(如y和Y是不同的变量),JavaScript语句和JavaScript变量都对大小写敏感。

变量的基本类型有4种:字符串变量、整型变量、实型变量和布尔型变量。

2.JavaScript变量的声明

(1)单个变量的声明与赋值

在JavaScript中创建变量通常称为“声明”变量。

使用var关键字来声明变量。

例如:

变量声明之后,该变量是空的(它没有值)。

使用赋值号(=)向变量赋值。

例如:

也可以在声明变量时对其赋值。

例如:

提示

一个好的编程习惯是,在代码开始处,统一对需要的变量进行声明。

(2)多个变量的声明与赋值

可以在一条语句中声明多个变量。该语句以var开头,并使用逗号分隔变量即可。

例如:

多个变量的声明也可横跨多行。

例如:

(3)声明无值的变量

声明变量时可以只用var标识符声明无值的变量。未赋值的变量,其值实际上是undefined。

在执行过以下语句后,变量name的值将是undefined。

例如:

(4)重复声明JavaScript变量

如果重复声明JavaScript变量,该变量的值不会丢失。在以下两条语句执行后,变量name的值依然是"李明"。

例如:

由于JavaScript的变量是弱类型的,可以将变量初始化为任意值,因此,可以随时改变变量所存数据的类型,但尽量避免这样做。

3.JavaScript变量类型的声明

声明新变量时,可以使用关键字new来声明其类型。

例如:

JavaScript变量均为对象,当声明一个变量时,就创建了一个新的对象。

4.局部JavaScript变量

在JavaScript函数内部使用var声明的变量是局部变量,该变量的作用域是局部的,即只能在函数内部访问它。

可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。该函数运行完毕,局部变量就会被删除。

5.全局JavaScript变量

在函数外声明的变量是全局变量,网页中的所有脚本和函数都能访问它。JavaScript变量的生命期从它们被声明的时间开始。

局部变量会在函数运行以后被删除,而全局变量会在页面关闭后被删除。

如果直接将值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

例如:

该语句将声明一个全局变量name,即使它在函数内执行。

注意

局部变量使用var这一关键字来声明,声明全局变量则不需要使用var关键字。

使用了var关键字的变量被看成是局部的,因为只能在声明它的地方所处的范围内访问,不能在其他任何地方访问。

例如,如果在一个函数内部声明了一个局部变量,该变量就不能在该函数之外访问,这就使得它是这一函数局部的。如果没有使用var关键字声明同一变量,它在整个脚本中就都是可被访问到的,而不仅限定于只能在那个函数中被访问。