新的声明方式
ES6的三种声明方式:
1.var:以前声明变量使用的是var ,现在升级var(variable)是用来升级全局变量。
2.let:声明的是局部变量。
3.const:声明的是常量,可以理解为不变的值。
var全局声明
var b = 1;
{
var b = 2;
}
console.log(b); //2
</pre>
let局部说明
<pre>
var b=1;
{
let b=2
}
console.log(b); //1
</pre>
<pre>
{
let b=2
}
console.log(b); // b is not defined
如果只在区块里声明,不在外部声明,打印b时就会报错,显示没有定义变量。
let主要是防止你的数据污染的。
用var声明的循环
for(var i=0;i<10;i++){
console.log('我在里面'+i);
}
console.log('我在外面'+i); //10
在循环体外的的i变量被污染了,在外部在使用i就会出问题。
用let声明的循环
for(let i=0;i<10;i++){
console.log('我在里面'+i);
}
console.log('我在外面'+i);
执行时会发现报错,循环体外面的i没有定义。
我们要习惯使用let声明,减少var声明去污染全局空间。
const声明常量
const a='zqq';
var a='zxt';
console.log(a);
在编译代码的过程中就报错了,无法继续编译了。我们用const声明的变量是不可改变的。