• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Javascriptのスコープについて。)

Javascriptのスコープについて

このQ&Aのポイント
  • 外側ループのローカル変数iが、なぜか内側ループのローカル変数iと同一視され、結果10回しか回りません。
  • for文の()中で宣言するカウンタ変数のスコープは、for(){}のスコープではなく、その一個外に所属すると解釈されます。
  • while文の場合も同様にローカル変数iが外側のループと同一視され、結果10回しか回りません。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>前者はfor文だからおかしくなったのでしょうか? 前者も同じ書式をもちいればご希望の通りとなると思いますが? <script> for(var i=0; i<10; i++){ (function(i){ for(var i=0; i<10; i++){ document.write(i); } })(); } </script>

35fa8e3c
質問者

お礼

その手がありましたか!!参考にさせていただきます。ありがとうございました。

その他の回答 (1)

  • ok-kaneto
  • ベストアンサー率39% (1798/4531)
回答No.1

https://developer.mozilla.org/ja/docs/JavaScript/Guide/Block_Statement JavaScriptにはブロックスコープというものがありません。 varキーワードを付けなければグローバル変数で、varをつけたものはローカル変数です。ローカル変数はどこで宣言されようが先頭で宣言したものと等価としてみなされます。

35fa8e3c
質問者

お礼

わかりました。ありがとうございます。

関連するQ&A