在JavaScript中,++在前和++在后有什么區別


一、
++可以與輸出語句寫在一起,++寫在變量前和寫在變量后不是一個意思
++ i 和 i ++ 區別在於運算順序和結合方向。

在JavaScript中有兩種自加運算,其運算符均為 ++,功能為將運算符自加 1。
其中:
++ VAR 被稱為前自加,其后面的變量執行自加操作,其運算為,先執行自加操作,再引用VAR值。
VAR ++ 被稱為后自加,其前面的變量執行自加操作,其運算為,先引用VAR值,再進行自加操作。

如果自加語句獨立成為一個單獨的語句,那么前后自加是完全相同的。
比如單獨的一行

a ++; 和 ++ a; 是一樣的。
1
再比如,常見的for循環:

for(i = 0; i < 100; i ++)
for(i = 0; i < 100; ++i)
1
2
這里用到的 ++ i 和 i ++ 是完全相同的,沒有區別。

二、
當運算變量本身值會在自加語句中,同時執行其它操作,二者就有區別了。
比如

var i = 0;
while( i ++ < 10);
1
2
i會先和10比較大小,然后執行自加。這樣當i=10時,退出循環,再執行一次自加,退出后i值為11。
而如果寫成

while(++ i < 10);
1
是先執行自加,然后再與10比較。這樣在i=9時,先自加,得到i=10,然后比較就會退出循環了。這種情況下,退出后i值為10。

再舉一個例子。

var a, i = 10;
a = i ++; //這里i要先賦值,再自加。語句執行后a=10, i = 11;
1
2
而如果寫成:

var a, i = 10;
a = ++i; //這里i要先自加,再賦值。語句執行后a=11, i = 11;
1
2

————————————————
原文鏈接:https://blog.csdn.net/qq_28766729/article/details/83478968


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM