如何使用es6"让"关键字在forloop中正确

时间:2015-05-31 18:36:11

标签: javascript ecmascript-6 let

也许我只是不理解es6'让'关键字。

问题:

Wy会iterate(10)只迭代4次?为什么最终输出15?

function iterate(count){
  for(let i = 0; i < count; i++){
    i += i
    console.log('inside', i);
  }
  console.log('outside', i);
}
iterate(10);
//0
//inside 2
//inside 6
//inside 14
//outside 15

我应该如何在let循环中使用for?我应该何时考虑使用let

1 个答案:

答案 0 :(得分:3)

  

为什么迭代(10)只迭代4次?

因为你自己递增i,所以在每次迭代中基本上乘以2:

i += i

它与let无关。 var也是如此。

  

为什么最终输出为15?

这实际上应该抛出一个引用错误,因为i在循环之外是不可用的。