• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascript ワークブック 問題)

JavaScriptワークブック:初歩的な質問

このQ&Aのポイント
  • JavaScriptワークブックにおける初歩的な質問についての回答です。
  • 質問文に見られる特定のコードについて説明します。
  • 回答では、変数iの使用に関する疑問に応えます。

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

  • ベストアンサー
  • Kaneyan-R
  • ベストアンサー率42% (1375/3206)
回答No.1

>どうしてiが使われているのでしょうか? 変数iは、forループのループ回数に使用されています。 初期値が「1」、上限が"i<=10"つまり「10以下」、増分が"i++"で「+1ずつ」なので、1~10の10回処理が行われます。 1回目の処理では、ループに入る前の初期値 bunbo=2 で kai を出したあと、bunbo*2 で2倍にしたものを bunbo に代入しています。つまり ループ前:bunbo=2 1回目:a=1/2 bunbo=2*2 2回目:a=1/4 bunbo=4*2 3回目:a=1/8 bunbo=8*2  ・  ・  ・ 10回目:a=1/1024 bunbo=1024*2 と言う処理になります。 10回目の処理の最後で bunbo=1024*2 で11乗となりますが、11回目は「i>10」となり、ループ上限から外れ処理は行われないので、結果2の1~10乗を処理したことになります。 私がforループで同じ事をさせるなら、 function goukei(){ var kai = 0; for (i = 1;i <= 10;i++){ kai += 1 / Math.pow(2,i); } alert("合計は" + kai+ "です"); } と言ったところでしょうか。 while使うなら function goukei(){ var kai = 0; var i = 1; while(i <= 10){ kai += 1 / Math.pow(2,i); i++; } alert("合計は" + kai+ "です"); } な感じですかね。

すると、全ての回答が全文表示されます。

関連するQ&A