鍍金池/ 問答/網絡安全  HTML/ es6 let聲明變量用于for循環(huán),怎么分布解析出來?

es6 let聲明變量用于for循環(huán),怎么分布解析出來?

我在學習阮一峰老師的 es6,看到這段代碼,結果是 6。

var a = [];
for (let i = 0; i < 10; i++) {
  a[i] = function () {
    console.log(i);
  };
}
a[6](); 

作者解釋說 “變量i是let聲明的,當前的i只在本輪循環(huán)有效,所以每一次循環(huán)的i其實都是一個新的變量,所以最后輸出的是6?!?/p>

那么問題來了,我想將代碼一步一步解析出來,不用 循環(huán)操作,怎么實現(xiàn)呢?(可以將 <10 改成 <3,以減少循環(huán)次數來測試)

回答
編輯回答
嫑吢丕

其實就是創(chuàng)建數組,數組每一項就是一個函數, a[n]() 執(zhí)行數組里的第N個函數
例如:

var a = []; //創(chuàng)建數組賦值
a[1] = function () {
    console.log(1);
  };
a[2] = function () {
    console.log(2);
  };
a[3] = function () {
    console.log(3);
  };

//a =[a[1],a[2],a[3]]

a[3]() // 3

2017年5月17日 15:59