![JavaScript+jQuery网页特效设计任务驱动教程(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/233/53256233/b_53256233.jpg)
1.8 JavaScript的变量
微课
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_24_03.jpg?sign=1739686189-LU97ljLF7SQOuJHiaIANKAVFdJ3Ybjer-0-af281702b153dfedd1a18d1d38e6d628)
JavaScript的变量
1.变量的概念与命名
变量是内存中存取数据的容器。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_24_04.jpg?sign=1739686189-pBNh0bhR7ofu1EgFwZSmBW7yxjzmBm3R-0-4f4c2bac74c1266d8648df6d478a505d)
在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关键字来声明变量。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_25_01.jpg?sign=1739686189-jXW37U7xB3ysR635p1bmQTCVzrQq9qWX-0-45b20b195456463f18c527ae6b2704fd)
变量声明之后,该变量是空的(它没有值)。
使用赋值号(=)向变量赋值。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_25_02.jpg?sign=1739686189-7YvrQmdpUagn2XC7DI0Irb2U0yafu6le-0-498d928357f012b12b53991792138dd3)
也可以在声明变量时对其赋值。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_25_03.jpg?sign=1739686189-oKiI6Li26aBprJhihWh9PU8Gp6KRB2ec-0-07d8a0ece743702c94bc36abc1e8f70b)
提示
一个好的编程习惯是,在代码开始处,统一对需要的变量进行声明。
(2)多个变量的声明与赋值
可以在一条语句中声明多个变量。该语句以var开头,并使用逗号分隔变量即可。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_25_04.jpg?sign=1739686189-7jkFTsFSqOJ7OolQIOrmJbckfQnhLg8v-0-3912a95240babe6a16a4858d6080ffdd)
多个变量的声明也可横跨多行。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_25_05.jpg?sign=1739686189-BZSRuJJDi6D46Xrm43Y28y02zyI0DM8r-0-3d73f0fd3a6f792e5b39cb7d6df4eb91)
(3)声明无值的变量
声明变量时可以只用var标识符声明无值的变量。未赋值的变量,其值实际上是undefined。
在执行过以下语句后,变量name的值将是undefined。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_25_06.jpg?sign=1739686189-fs1YfSXJbx4QYcyYUCbg8zQgBGPX8AIv-0-e74e144290c8ca0803d2b29f4e9b6272)
(4)重复声明JavaScript变量
如果重复声明JavaScript变量,该变量的值不会丢失。在以下两条语句执行后,变量name的值依然是"李明"。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_26_01.jpg?sign=1739686189-bYb71QrD9qLJbBWdfWpLiJrTATcVyxU7-0-e351e78ab1603899f7fe00c8166c8ff4)
由于JavaScript的变量是弱类型的,可以将变量初始化为任意值,因此,可以随时改变变量所存数据的类型,但尽量避免这样做。
3.JavaScript变量类型的声明
声明新变量时,可以使用关键字new来声明其类型。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_26_02.jpg?sign=1739686189-ssTQhQwPMa65yXUrmabPVLRiz7QKy7b3-0-5c91ea3c6822838581294541cc125347)
JavaScript变量均为对象,当声明一个变量时,就创建了一个新的对象。
4.局部JavaScript变量
在JavaScript函数内部使用var声明的变量是局部变量,该变量的作用域是局部的,即只能在函数内部访问它。
可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。该函数运行完毕,局部变量就会被删除。
5.全局JavaScript变量
在函数外声明的变量是全局变量,网页中的所有脚本和函数都能访问它。JavaScript变量的生命期从它们被声明的时间开始。
局部变量会在函数运行以后被删除,而全局变量会在页面关闭后被删除。
如果直接将值赋给尚未声明的变量,该变量将被自动作为全局变量声明。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_26_03.jpg?sign=1739686189-sW3ndjXo3rI2N2lAHUW9MOh8aUCT0Lkg-0-f7c4df9c4cd627036145b25543c8205b)
该语句将声明一个全局变量name,即使它在函数内执行。
注意
局部变量使用var这一关键字来声明,声明全局变量则不需要使用var关键字。
使用了var关键字的变量被看成是局部的,因为只能在声明它的地方所处的范围内访问,不能在其他任何地方访问。
例如,如果在一个函数内部声明了一个局部变量,该变量就不能在该函数之外访问,这就使得它是这一函数局部的。如果没有使用var关键字声明同一变量,它在整个脚本中就都是可被访问到的,而不仅限定于只能在那个函数中被访问。