人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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になるらしいのですが、そうなるとは僕には思えません。

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

●質問者: 匿名質問者
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● 匿名回答1号
ベストアンサー

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

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


匿名質問者さんのコメント
そうなんですね。。 とんでもない凡ミスでした。。。 回答ありがとうございました1

2 ● 匿名回答2号

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


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


匿名質問者さんのコメント
そうなんですね。。 とんでもない凡ミスでした。。。 回答ありがとうございました1
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ