- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javascriptのスコープについて。)
Javascriptのスコープについて
このQ&Aのポイント
- 外側ループのローカル変数iが、なぜか内側ループのローカル変数iと同一視され、結果10回しか回りません。
- for文の()中で宣言するカウンタ変数のスコープは、for(){}のスコープではなく、その一個外に所属すると解釈されます。
- while文の場合も同様にローカル変数iが外側のループと同一視され、結果10回しか回りません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>前者はfor文だからおかしくなったのでしょうか? 前者も同じ書式をもちいればご希望の通りとなると思いますが? <script> for(var i=0; i<10; i++){ (function(i){ for(var i=0; i<10; i++){ document.write(i); } })(); } </script>
その他の回答 (1)
- ok-kaneto
- ベストアンサー率39% (1798/4531)
回答No.1
https://developer.mozilla.org/ja/docs/JavaScript/Guide/Block_Statement JavaScriptにはブロックスコープというものがありません。 varキーワードを付けなければグローバル変数で、varをつけたものはローカル変数です。ローカル変数はどこで宣言されようが先頭で宣言したものと等価としてみなされます。
質問者
お礼
わかりました。ありがとうございます。
お礼
その手がありましたか!!参考にさせていただきます。ありがとうございました。