首先咱們應該都知道++i與i++的區別是: ++i 是先執行 i=i+1 再使用 i 的值,而 i++ 是先使用 i 的值再執行 i=i+1;git
而後咱們也知道for循環的執行順序以下:github
for(A;B;C)
{
D;
}
進入循環執行A;//只是進入的時候執行.
執行B;//條件爲真才執行D,否則就跳出for了.
執行D;
執行C;
再回到第2步開始執行
那麼咱們接着看下面實例:優化
1.for (var i=0; i<10; i++):spa
for(var i = 0; i<10; i++) {
console.log(i);
}
至關於:.net
for(var i=0; i<10;)
{
console.log(i);
i++;
}
2.for (var i=0; i<10; ++i):blog
for(var i = 0; i<10; ++i) {
console.log(i);
}
至關於:編譯器
for(var i=0; i<10;)
{
console.log(i);
++i;
}
在上述的循環體中,i++ 和 ++i 的做用是同樣的。it
打印出來的信息都是:console
0
1
2
3
4
5
6
7
8
9for循環
打印信息也證實了 i++ 和 ++i 的做用是同樣的。
效率問題
++i至關於下列代碼
i += 1;
return i;
i++至關於下列代碼
j = i;
i += 1;
return j;
寫for循環的時候都是寫 ++i 而不是 i++。這樣效率高。固然若是編譯器會將這些差異都優化掉,那麼效率就都差很少了。
參考:
https://blog.csdn.net/zgrkaka/article/details/78971977
https://blog.csdn.net/github_37847975/article/details/77369851