作成者が var キーワードを忘れた場合、この関数の変数から変数を分離するにはどうすればよいですか?
for (var i = 0; i < 4; i++)
{
test();
}
function test()
{
i = 0;
}
作成者が var キーワードを忘れた場合、この関数の変数から変数を分離するにはどうすればよいですか?
for (var i = 0; i < 4; i++)
{
test();
}
function test()
{
i = 0;
}
スコーピングを使用した以前の回答と同じ考えですが、より良い方法は IIFE を使用することです:
(function () {
for (var i = 0; i < 4; i++) {
test();
}
})();
for ループを別のスコープに入れます。
関数で。
function test(){
i = 0;
}
function trial(){
for (var i = 0; i < 4; i++){
test();
}
}
trial();
そうすれば、関数内のコードと関数のみが、trial
そのレベルで宣言された変数にアクセスできます。