官术网_书友最值得收藏!

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已聲明
主站蜘蛛池模板: 宣化县| 中方县| 香格里拉县| 霍林郭勒市| 西充县| 辛集市| 方正县| 特克斯县| 盘锦市| 民勤县| 华坪县| 平阳县| 秦皇岛市| 大港区| 铜川市| 高密市| 汉中市| 安化县| 恩施市| 正宁县| 比如县| 武陟县| 华宁县| 贵定县| 浦县| 乐山市| 收藏| 台南县| 夏河县| 淅川县| 东城区| 大丰市| 建始县| 赣州市| 大同县| 隆德县| 衡阳县| 山丹县| 定州市| 安塞县| 克什克腾旗|