js学习:变量

变量的概念

变量:程序计算的过程中,用来保存中间值的一块内存
本质上是计算机中的一块存储区域(起了名字的)
变量是对“值”的具名引用。变量就是为“值”起名,然后引用这个名字,就等同于引用这个值。变量的名字就是变量名。

给变量起的名字叫做标识符:
js中标识符的命名规则:
1. 由数字、字母、下划线、美元符等组成
2. 不能以数字开头
3. 不要使用关键字或保留字

保留字:

arguments、break、case、catch、class、const、continue、debugger、default、delete、do、else、enum、eval、export、extends、false、finally、for、function、if、implements、import、in、instanceof、interface、let、new、null、package、private、protected、public、return、static、super、switch、this、throw、true、try、typeof、var、void、while、with、yield

变量的定义

变量的定义包含声明和赋值两个部分
变量的声明和赋值,是分开的两个步骤
如果只是声明变量而没有赋值,则该变量的值是undefined

变量的定义格式:
var 变量名;
var 变量名 = 变量值;
var 变量名1, 变量名2, ......;
var 变量名1, 变量名2 = 值, ......;

变量在定义的时候,如果没写var,则会定义为全局变量

变量提升:

JavaScript 引擎的工作方式是,先解析代码,获取所有被声明的变量,然后再一行一行地运行。
这造成的结果,就是所有的变量的声明语句,都会被提升到代码的头部,这就叫做变量提升
console.log(a);
var a = 1;

上面代码首先使用console.log方法,在控制台(console)显示变量a的值。
这时变量a还没有声明和赋值,所以这是一种错误的做法,但是实际上不会报错。
因为存在变量提升,真正运行的是下面的代码。

var a;
console.log(a);
a = 1;

最后的结果是显示undefined,表示变量a已声明,但还未赋值。

~~~~~ END ~~~~~

你可能感兴趣的:(js学习:变量)