ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变
量,只在let命令所在的代码块内有效。
let a=3;
let声明的变量只在它所在的代码块有效。
for循环的计数器,很适合使用let命令
var arr=[1,2,3,4,5];
for (let i=0;i
console.log(i);
运行结果:
程序报错。上面代码的计数器i是由let声明的,只在for循环体内有效。
如果i是由var声明的
var arr=[1,2,3,4,5];
for (var i=0;i
console.log(i);
最后输出的结果是:5
let声明变量的特性有以下几点:
1.不提升变量
先来看一组变量的声明
console.log(a);
console.log(b);
vara=2;
let b=2;
同样的2个未定义就使用的变量,但结果取不一样
因为变量a用var命令声明,会发生变量提升,即脚本开始运行时,变量a已经存在了,但是没有值,所以会输出undefined。变量b用let命令声明,不会发生变量提升。这表示在声明它之前,变量b是不存在的,这时如果用到它,就会抛出一个错误。