2016-05-08 14 views
-2

私はJavaScriptの基礎を勉強しています。 私は、サイクルを使って1から100までの数を数える小さなプログラムを作ろうとしています。Javascript counter issue

私はこれを書いて、それは大丈夫です、私は99

for (i = 0; i <= 99; i++) { 
    i++; 
    console.log(i); 
} 

までの数字を得た。しかし、私はこれをしようと、私はなぜ、101を得ましたか。

for (i = 0; i <= 100; i++) { 
    i++; 
    console.log(i); 
} 
+1

um、なぜあなたは 'i'を2回インクリメントしていますか? –

答えて

3

ループごとに2回、i++を実行しています。いったんforループ宣言の中に入ると、forループブロックの中に一度入ります。ループブロックからi ++を削除すると、それがあります。

編集:あなたはまた、ダンの答え@については詳しく説明し(var i = 1; i <= 100; i++)

+0

ありがとう、愚かな間違いですが、私の最初のステップはjsです。なぜ人々はこの質問をd​​ownvotingですか? –

+1

@IvanPalma投稿する前にコードを2回チェックした場合は、自分でそれをキャッチしたはずです。 – andlrc

+0

@ダン - ループ内のインクリメントが削除された場合、ループは1ではなく0から印刷を開始します。 –

1

を設定することにより、1でループを開始する必要があります:あなたのプログラムは、各繰り返しで二回iをインクリメントするので、それは奇数のみをプリントアウトしました。最終的にiは98になり、どちらの場合もループにとどまって99に再びインクリメントし、それを「印刷」しました。ループを終了する前に、これを100に増やしてテストしました。最初のコードは99を超えていたので、停止しましたが、2番目のコードは100を超えていないので、インクリメントして印刷しましたが、次回は停止しました(102まで)。