让ES6 in for循环有一些问题吗?

时间:2017-05-09 05:42:52

标签: javascript scope ecmascript-6

enter image description here

enter image description here

根据第一张图片,我们可以发现我已被宣布,为什么我们可以使用' let'再次宣布它?

1 个答案:

答案 0 :(得分:0)

行。这是关于范围的事情。

Var是一个基于函数的关键字。使用var指令声明的变量可用于整个函数。

Let是一个基于块的关键字。该变量仅适用于当前范围。 (范围大部分时间用{}分隔。)

因此,在您的第一个示例中,您尝试使用var定义变量。但它已被声明用于函数

但是,在第二个示例中,您可以看到变量是为您正在使用的范围定义的另一个范围(对于内部范围,请参阅for指令后的{}。)。