四、变量

四、变量

4.1 用var来定义变量

JS中一律使用var来定义变量。var是英语variable(变量)的缩写。

变量就是临时存储数据的一个值,一个英语符号而已。

1
2
3
4
5
6
<script>
// 定义了一个变量a,赋值为10
var a = 10;
// 弹出a的值,这里没有双引号,因为变量不许用双引号包裹
alert(a);
</script>

注意,等号不是表示相等,而是表示赋值。会将右边的值,赋给左边。

输出变量的时候,不许加双引号!!!

var叫做关键字,就是有一些特殊功能的字,关键字后面必须加空格。

等号加不加空格都行。

4.2 变量可以怎么命名

  • 变量只能由字母、数字、下划线、$符号构成。

  • 不能以数字开头

  • 不能是关键字保留字(说白了就是JS中内置的函数、关键字名字不能当做变量名)

下面都是合法的变量:

1
2
3
4
5
6
7
var b = 22;
var b2 = 66;
var _c = 55;
var $55 = 44;
var $ = 99;
var _ = 45;
var $0_0$ = 33;

下面都是错误的变量:

1
2
3
var 2b = 22;      不能以数字开头
var b@ = 66; 不能有特殊符号
var var = 55; 不能是关键字

4.3 变量值的改变

1
2
3
4
5
<script>
var a = 10; 定义a并且赋初值为10
a = 30; 改变a的值为30
alert(a); 弹出a
</script>

UpYWnA.png

注意两个事情:

  • 等号表示赋值,a=30这句话表示一个命令,让a成为30。

  • 已经var过一个变量了,再次改变它的值的时候,不需要再次var

4.4 定义变量和赋初值可以分开写、可以用逗号分隔以次定义很多

1
var a = 10;

可以拆分为两条语句:

1
2
var a;
a = 10;

也可以这样写:

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

不过建议大家还是一条一条写:

1
2
3
var a = 10;
var b = 20;
var c = 30;

4.5 undefined和变量声明的提升

如果我们没有vara,直接弹出a,系统会报错:

1
2
3
<script>
alert(a);
</script>

Upt4KJ.png

如果我们vara,却没有赋初值,此时不会报错,会弹出undefined这个词:

1
2
3
4
<script>
var a;
alert(a);
</script>

Uptxrd.png

undefined表示“没有定义”,实际上我们已经用var定义了。这是JS的特性,你可以理解为:

你var了一个变量,它的默认值就是undefined,期待你用初值来覆盖。

有意思的程序是:

1
2
3
4
<script>
alert(a);
var a = 342;
</script>

注意,会弹出undefined,因为有变量声明的提升这个过程,如图

UpNUd1.png

相当于:(将var a; 提升到前面,剩下的原位置执行)

1
2
3
var a;
alert(a); // 执行的时候a 还未赋值,显示默认的undefined
a = 342;
点击查看

本文标题:四、变量

文章作者:Mango

发布时间:2020年07月08日 - 21:28:59

最后更新:2020年07月08日 - 22:35:39

原始链接:https://mango185.github.io/post/b4427100.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------------本文结束 感谢您的阅读-------------------