0

commaJavaScript コードORでの使用の違いについて質問がありますsemicolon

それらには違いがあり、コードの動作に影響を与えますか?

以下のコードでは、コードが実行されなかったコンマによってfib値を持つvar の定義の後にセミコロンを変更しました。0

誰かがこれを説明できますか?

それが発生したフィボナッチの完全なコードは次のとおりです。

<script>
    document.write("<h2>Числа Фибоначчи </h2>");
    for (i = 0, j = 1, k = 0, fib = 0; i < 50; i++, fib = j + k, j = k, k = fib) {
        document.write("Fibonacci (" + i + ") = " + fib);
        document.write("<br>");
    }
</script>
4

3 に答える 3

0

前の答えは確かに正しいですが、これは-についてではないと思いますfor-それは実際には演算子であるコンマについてです:

コンマ演算子は、両方のオペランド(左から右へ)を評価し、2番目のオペランドの値を返します。-MDC _

それについてもっと知りたい場合:AngusC.は彼のブログでそれが何をするかを詳しく説明しています。

于 2013-03-19T21:02:39.560 に答える
0

forは 3 つの式を囲みます:

  • 初期化 (ループの前に実行)、
  • ループ テストの終了 (各反復の前に実行)、
  • および反復後のステートメント。

JavaScript のステートメントは、;. を に変更する;,、init ステートメントは終了しません。

于 2013-03-19T20:39:28.383 に答える
0

おそらく混乱する部分は、「通常の」for ループが次のような 3 つのステートメントを取るという事実です。

for (var i=0; i<5; i++)
  {
  x=x + "The number is " + i + "<br>";
  }

ただし、あなたの例では、これらの式をコンマ区切りの引数に置き換えています。

var i=0->i = 0, j = 1, k = 0, fib = 0

i++->i++, fib = j + k, j = k, k = fib

ところで、これは非常に読みにくく、維持するのがさらに難しいひどいコードです。使用しないでください。

于 2013-03-19T20:45:27.327 に答える