for迴圈中 i和i 的區別

2021-09-27 10:30:44 字數 1095 閱讀 2973

語法

for (語句1; 語句2; 語句3)

語句 1 在迴圈(**塊)開始前執行

語句 2 定義執行迴圈(**塊)的條件

語句 3 在迴圈(**塊)已被執行之後執行(這就是迴圈中的++i和i++結果一樣的原因,但是效能不一樣,稍後解釋)

語句1 (同上面語法中的 語句1)

語句1 是可選的,也就是說不使用語句1 也可以。

var i=2,len=5;

for (; i也可以在語句1 中初始化任意(或者多個)值:

var arr = [1,2,3]

for (var i=0,len=arr.length; i語句 2 同樣是可選的。

如果語句 2 返回 true,則迴圈再次開始,如果返回 false,則迴圈將結束。

如果您省略了語句 2,那麼必須在迴圈內提供 break。否則迴圈就無法停下來。這樣有可能令瀏覽器崩潰

語句3 (同上)

通常語句 3 會增加初始變數的值。

語句 3 也是可選的。

語句 3 有多種用法。增量可以是負數 (i–),或者更大 (i=i+15)。

語句 3 也可以省略(比如當迴圈內部有相應的**時):

var i=0,len=arr.length;

for (; i++i 和 i++ 的區別

var i = 10;

console.log(i++); //10 ,先引用原值,然後加1

等價於:

var i= 10;

console.log(i); //先輸出i

i++; //然後加1

var i = 10;

console.log(++i); //11 , 這次是先加1,然後輸出

總結下:++在前下自加後運算;++在後先運算後自加

for迴圈中++i 和 i++ 的區別

根據上面的for迴圈的語法定義 ++i 和 i++的結果是一樣的,都要等**塊執行完畢才能執行語句3,但是效能是不同的。在大量資料的時候++i的效能要比i++的效能好原因:

i++由於是在使用當前值之後再+1,所以需要乙個臨時的變數來轉存。

而++i則是在直接+1,省去了對記憶體的操作的環節,相對而言能夠提高效能

for迴圈中 i和i 的區別

for 語句1 語句2 語句3 語句 1 在迴圈 塊 開始前執行 語句 2 定義執行迴圈 塊 的條件 語句 3 在迴圈 塊 已被執行之後執行 前者是 先引用,後增加,int i 10 system.out.println i 此時輸出的是10以上 等價與 int i 10 system.out.pr...

學習筆記 for迴圈中 i 和 i 的區別

c語言中 for迴圈的語法定義中 i 和i 的結果是一樣的,都要等 塊執行完畢才能執行語句3,但是效能是不同的。在大量資料的時候 i的效能要比 i 的效能好原因 1.i 由於是在使用當前值之後再 1,所以需要乙個臨時的變數來轉存。2 而 i則是在直接 1,省去了對記憶體的操作的環節,相對而言能夠提高...

for迴圈中的i 與 i

今天遇到乙個for迴圈 for i 1 i 1 i 其中使用的是 i,我以為 i會先於判斷執行,就上網找了找i 與 i的區別。答案很少,有乙個說的是效率後者高一些。然後我又寫了乙個測試的 var j 0 for i 1 i 1 i,j console.log console.log i,j 發現 是...