1

CodeAcademy でプロジェクトを行っていますが、この部分には for ステートメントが必要です。これは私のコードです:

for(i = 1; i <= 20; i++)
console.log(i);

基本的には、2 番目の条件 " i <=20" がコードの繰り返しを停止するタイミングを示しているのに、なぜすぐに停止しないのか疑問に思っています。1 は 20 より小さいので。

私はそれがあるべきだと思いますしi = 20i = 20それが止まると思います。しかし、そうではないようです。これは本当に私を混乱させます。

4

5 に答える 5

3

中間のステートメントは、いつループを停止するかを示しているのではなく、いつ続行する必要があるかを示しています。true と評価される限り、ループが繰り返されます。

于 2012-08-21T05:42:00.877 に答える
2

2番目の引数がいつ停止するかを指示すると仮定しているため、混乱しています。これは正しくありません。ループの実行時間を指示します。したがって、この場合、
iが20以下である限り、ループを実行するように指示します。

詳細については、 http://www.w3schools.com/js/js_loop_for.aspを参照してください。

于 2012-08-21T05:48:52.220 に答える
0

i は i++ でインクリメントされ、i++が条件 i<=20 を満たすポイントに到達するまで発生するためです。

として読む

i <=20 である限り、i を i++ としてインクリメントし続ける

于 2012-08-21T05:42:14.400 に答える
0

forループを読みやすくするために、常に次のように読むことを検討してください。

for( initialization_expression; termination_expression; increment_expression ) {
  statements;
}
  • intialization_expression はループを初期化します。ループの開始時に 1 回実行されます。
  • terminate_expression が false と評価されると、ループは終了します。
  • ループを反復するたびに、increment_expression が呼び出されます。この式で値をインクリメントまたはデクリメントすることはまったく問題ありません。

したがって、それを「読む」には、次のように言えます。

  1. 実行するinitialization_expression
  2. statementstrue の場合は実行termination_expression、そうでない場合は終了
  3. 実行するincrement_expression
  4. 2へ。
于 2012-08-21T05:56:18.483 に答える
0

forここにループの良い要約があります:

for ( variable = startvalue; variable < endvalue; variable = variable + increment) {
    // code to be executed
}

最初の部分は、ループ カウンター/インデックスを開始する場所のベースラインです。

真ん中の部分はwhile 'variable < endvalue` - keep looping と言っています。

variable = variable + incrementvariable++;ループを前進させ続けるのと同じようにたくさん書かれています。変数がインクリメントされるにつれて。(もちろん、増減できます。何をしようとしているのかによって異なります)。

于 2012-08-21T05:46:28.493 に答える