【发布时间】:2017-11-20 21:55:33
【问题描述】:
前段时间,我读了一些关于在 JavaScript 中使用 let 和 var 的文章,他们说你使用“var”关键字声明的变量(即使在 for 循环中)只能在它的函数中工作,那么为什么它可能在一个函数中创建多个 for 循环,每个循环看起来像:for (var i = 0; i < array.length; i++);
并且JavaScript对“重新声明” i 变量没有问题吗?谢谢:)
【问题讨论】:
-
JavaScript 允许重新声明使用
var声明的变量。 -
您可能还想了解变量范围。
-
@4castle 这不是真的。你现在正在考虑重新分配。您可以更改使用
let分配的变量的值,但不能重新声明 -
@4castle 这意味着如果有更多的 for 循环, i 只是回到零并继续使用新值?我只是认为在 for 循环开始时声明的变量在循环中是有效的。
-
@Andrew 是的,你是对的。已编辑。 @Pollux
var有一种称为“提升”的特殊行为,如果变量声明出现在函数内部的任何位置,它就会被移动到函数的顶部。
标签: javascript function variables for-loop