1. 程式人生 > >++i和i++的區別

++i和i++的區別

比較 word comm nbsp 引用 x11 AR 常見 循環

++i和i++區別在於運算順序和結合方向。

js中有兩種自加運算,其運算符均為++,功能為將運算符自加1. 其中: ++VAR被稱為前自加,其後面的變量執行自加操作,其運算為,先執行自加操作,再引用VAR值。 VAR++被稱為後自加,其前面的變量執行自加操作,其運算為,先引用VAR值,再進行自加操作。 如果自加語句獨立成為一個單獨的語句,那麽前後自加是完全相同的。 比如單獨的一行 a++;和++a;是一樣的。 再比如,常見的for循環: for(i = 0; i < 100; i ++) for(i = 0; i < 100; ++i) 這裏用到的++i和i++是完全相同的,沒有區別。
當運算變量本身值會在自加語句中,同時執行其它操作,二者就有區別了。 比如 var i =0; while(i++<10); i會先和10比較大小,然後執行自加。這樣當i=10時,退出循環,再執行一次自加,退出後i值為11。 而如果寫成 while(++i<10); 是先執行自加,然後再與10比較。這樣在i=9時,先自加,得到i=10,然後比較就會退出循環了。這種情況下,退出後i值為10。 再舉一個例子。 var a, i = 10; a = i ++; //這裏i要先賦值,再自加。語句執行後a=10, i = 11; 而如果寫成: var a, i = 10; a = ++i; //這裏i要先自加,再賦值。語句執行後a=11, i = 11;

++i和i++的區別