四、变量
4.1 用var
来定义变量
JS中一律使用var
来定义变量。var
是英语variable
(变量)的缩写。
变量就是临时存储数据的一个值,一个英语符号而已。
1 | <script> |
注意,等号不是表示相等,而是表示赋值。会将右边的值,赋给左边。
输出变量的时候,不许加双引号!!!
var
叫做关键字,就是有一些特殊功能的字,关键字后面必须加空格。
等号加不加空格都行。
4.2 变量可以怎么命名
变量只能由字母、数字、下划线、$符号构成。
不能以数字开头
不能是关键字保留字(说白了就是JS中内置的函数、关键字名字不能当做变量名)
下面都是合法的变量:
1 | var b = 22; |
下面都是错误的变量:
1 | var 2b = 22; 不能以数字开头 |
4.3 变量值的改变
1 | <script> |
注意两个事情:
等号表示赋值,
a=30
这句话表示一个命令,让a成为30。已经
var
过一个变量了,再次改变它的值的时候,不需要再次var
了
4.4 定义变量和赋初值可以分开写、可以用逗号分隔以次定义很多
1 | var a = 10; |
可以拆分为两条语句:
1 | var a; |
也可以这样写:
1 | var a = 10 , b = 20 , c = 30; |
不过建议大家还是一条一条写:
1 | var a = 10; |
4.5 undefined
和变量声明的提升
如果我们没有var
过a
,直接弹出a
,系统会报错:
1 | <script> |
如果我们var
了a
,却没有赋初值,此时不会报错,会弹出undefined
这个词:
1 | <script> |
undefined
表示“没有定义”,实际上我们已经用var
定义了。这是JS的特性,你可以理解为:
你var了一个变量,它的默认值就是undefined,期待你用初值来覆盖。
有意思的程序是:
1 | <script> |
注意,会弹出undefined,因为有变量声明的提升这个过程,如图
相当于:(将var a;
提升到前面,剩下的原位置执行)
1 | var a; |