匿名質問者
匿名質問者匿名質問者とは「匿名質問」を利用して質問した質問者。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら

javascriptのfor文でどうしても理解できないところがあります。


var s = new String(1234567);
var ret = '';
for(var i = s.length-3; i>0; i-=3){
ret = ',' + s.substr(i,3) + ret;
}
ret = s.substr(0, i+3) +ret;
document.write('合計金額は、' + ret + ’ 円です<br>');

これは3行ごとにカンマを入れるプログラムらしいのですが、
僕がわからないのはforの部分です。

初期値は7-3で4になりますよね。それでiが1以上だったら終了して、1回まわるごとにiを-3していくプログラムだと思っているのですが、1週目でいきなり終了条件を満たしているので、結果は1,234,567になるらしいのですが、そうなるとは僕には思えません。

わかりやすく解説できる方いましたらお願いします!

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/11/15 13:26:53
  • 終了:2013/11/15 14:22:26

ベストアンサー

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2013/11/15 13:45:03

それでiが1以上だったら終了して、

ここが違う。
「i が 1以上の間は続けて」だ。
終了条件ではない。継続条件だ。

匿名質問者

そうなんですね。。
とんでもない凡ミスでした。。。
回答ありがとうございました1

2013/11/15 14:22:14

その他の回答(1件)

匿名回答1号 No.1

匿名回答1号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2013/11/15 13:45:03ここでベストアンサー

それでiが1以上だったら終了して、

ここが違う。
「i が 1以上の間は続けて」だ。
終了条件ではない。継続条件だ。

匿名質問者

そうなんですね。。
とんでもない凡ミスでした。。。
回答ありがとうございました1

2013/11/15 14:22:14
匿名回答2号 No.2

匿名回答2号「匿名質問」を利用した質問に回答すると「匿名回答○号」と匿名で表示されます。
「匿名質問」では、ユーザー名を公開せずに匿名の質問ができます。
詳しくはこちら
2013/11/15 13:46:13

それでiが1以上だったら終了して、


違います。i が 0 より大きいうちは実行、です。

匿名質問者

そうなんですね。。
とんでもない凡ミスでした。。。
回答ありがとうございました1

2013/11/15 14:22:19

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません