1.什么是变量:变量是储存数据信息的容器,变量被认为是有名字的容器。
2.变量的声明:在 JavaScript 中,使⽤用变量前应当先声明。变量是使⽤用关键字 var 声明的。 只声明,未初始化,变量的值⾃自动取值为 undefined。
⼀行代码只声明⼀一个变量,⼀行代码声明多个变量。
将变量的声明和初始化合写在⼀起:⼀行代码只声明⼀一个变量并赋值,⼀行代码声明多个变量并赋值。
声明的问题:重复声明
使⽤用 var 语句句重复声明变量是合法且⽆无害的。但是,如果重复声明并初始化的,由于 JavaScript 变量只 能存储⼀一个数据,之前存储的数据会被覆盖掉。
遗漏的声明
直接读取⼀一个没有声明的变量的值,JavaScript 会报错。 为⼀一个没有声明的变量初始化,是合法的,但并不不推荐这样使⽤。
变量的使⽤
对声明的变量既可以读取操作,也可以赋值操作。
变量提升
JavaScript 引擎的⼯工作⽅方式是,先解析代码,获取所有被声明的变量,然后再⼀行⼀行的运⾏。这造成的结 果就是,所有的变量的声明语句句,都会被提升到代码的头部,这就叫做变量提升(hoisting)。
说明:1. 上⾯面的代码等同于:
var a; console.log(a); a = 1; console.log(a);
2. 变量声明被提升到头部时还没有赋值,所以默认等于 undefined 。
3. 变量提升只对 var 命令声明的变量有效。如果⼀一个变量不不是⽤用 var 声明的,就不不会发⽣生变量提 升。