Vue.js从入门到精通
上QQ阅读APP看书,第一时间看更新

2.1.1 let声明

在ES6中新增了使用let关键字声明变量的方式。let的用法和var类似,所不同的是,使用let声明的变量只在let所在的代码块内有效。例如,在代码块中分别使用var和let声明两个变量,然后在代码块之外调用这两个变量,代码如下:

     {
          var a = 10;
          let b = 20;
     }
     console.log(a);   //10
     console.log(b);   //报错:b没有定义

由运行结果可以看出,var声明的变量返回了正确的值,而let声明的变量会抛出错误,这就表明使用let声明的变量只在let所在的代码块内有效。

使用let声明变量特别适合于for循环中,循环变量i只在for循环体内有效,在循环体外引用就会抛出错误。示例代码如下:

     for (let i = 0; i < 10; i++) {
          document.write(i);         //输出0123456789
     }
     document.write(i);              //报错:i没有定义

使用let不允许在相同作用域内重复声明同一个变量。例如,在同一作用域内已经存在某个变量,此时再使用let对它进行声明就会抛出错误,代码如下:

     var num = 10;
     let num = 20;  //报错:标识符num已声明