8.1 变量声明

ES6之前的js版本,变量的声明一般使用var,例如
var g=56;
ES6增加了几种变量声明。
1.var类型的变量被视为全局变量。
也就是在任意地方声明一个var的变量,都相当于在文件顶端,并且该文件所有函数都可以访问到。i是在第三行代码声明的,然而第五行代码打印的时候,仍然可以打印5。
var k=2;
if(k < 3){
    var i=5;
}
console.log(i);
浏览器按F12,在浏览器控制台运行这些代码,如图所示:
2.let类型的变量被视为局部变量。
var k=2;
if(k < 3){
    let i=5;
}
console.log(i);
在浏览器控制台运行这些代码,如图所示:
红色语法错误提示变量i没有定义,因为第3行代码定义的i只在局部有效(也就是所处的大括号内有效),第5行代码打印i就会找不到。

3.const类型的变量被视为常量。
常量就是一旦定义无法改变值的变量。例如:
const i=4;
console.log(i);
i=6;
console.log(i);
运行这段代码的时候,第3行代码就会出错,表示无法赋值给i