JavaScript では、変数名の前 ( pre-increment ) または後 ( post-increment++
)に演算子を使用できます。変数をインクリメントするこれらの方法の違いは何ですか?
77477 次
6 に答える
316
他の言語と同じ:
++x
(pre-increment) は、「変数をインクリメントします。式の値は最終値です」という意味です。x++
(post-increment) は、「元の値を記憶してから変数をインクリメントします。式の値は元の値です」という意味です。
スタンドアロンのステートメントとして使用すると、同じことを意味します。
x++;
++x;
式の値を別の場所で使用すると、違いが生じます。例えば:
x = 0;
y = array[x++]; // This will get array[0]
x = 0;
y = array[++x]; // This will get array[1]
于 2010-08-12T16:31:36.017 に答える
63
++x
値をインクリメントしてから、評価して保存します。x++
値を評価してから、インクリメントして保存します。
var n = 0, m = 0;
alert(n++); /* Shows 0, then stores n = 1 */
alert(++m); /* Shows 1, then stores m = 1 */
++x
変数を読み取り、変更してから評価して保存するため、可能な場合は使用することでパフォーマンスがわずかに向上することに注意してください。x++
値を読み取り、評価し、変更してから保存するオペレーターと比較してください。
于 2010-08-12T16:34:49.910 に答える
9
私が理解しているように、それらをスタンドアロンで使用すると、同じことを行います。それらの結果を式として出力しようとすると、異なる場合があります。alert(i++) と alert(++i) を比較して違いを確認してください。i++ は加算の前に i に評価され、++i は評価の前に加算を行います。
例については、 http://jsfiddle.net/xaDC4/を参照してください。
于 2010-08-12T16:34:02.347 に答える