変数は Javascript でスコープ化された関数であることを覚えています。しかし、ループ内でローカル変数を再定義した場合の動作はどうなりますか。一般的な使用例の 1 つは、ネストされたループです。以下のコードでは、j を i に変更すると、外側のスコープの i の値が内側の for ループと同じであるため、外側の for ループは 1 回の反復後に終了します。私はvarを使用しているので、(他の言語と同様に)内部のfoループ内で再定義されると予想していました。これはJSでは、関数スコープ内でローカル変数を再宣言して使用する方法がないということですか。
for (var i = 0, len = x.length; i < len; i++) {
...
for (var j = 0, len = y.length; j < len; j++) {
...
}
}