首先碰見 i++ 和 ++i 會一臉蒙蔽 感覺沒什么區別,都是相加 , 但是 輸出的值是不同!!!
來奉上代碼來進行比較
var i = 1; var a = i++; //a = 1; 此時i為2,但賦給a的是1 var b = ++i; //b = 3
1.前置遞增(++): 在變量的前面,先自身執行加法操作后在賦值(++i);
2.后置遞增(++): 在變量的后面,先賦值后在執行加法操作(i++);
3.前置遞減(--): 在變量的前面,先自身執行減法操作后在賦值(--i);
4.后置遞減(--): 在變量的前面,先賦值后在執行減法操作(i--);
實在看不懂的話,用最簡單的話來講講
i++ 和 ++i 從表面看,有沒有發現區別???
是不是發現一個i在前,一個i在后!!!
i在前就是說 輸出的是 i 本身 但是!!!i 還是會自增1 只是沒有賦值 eg:
i = 2; a = i++; console.log(a)// a = 2; console.log(i)// i = 3;
i在后就是說 輸出的是 i 自增后的值 並且賦值 eg:
i = 2; a = ++i; console.log(a)// a = 3; console.log(i)// i = 3;
這下應該明白了吧...
最后!一定要記住一點就是 i++和++i 都會自增,只不過i++隱藏了沒有表現出了