js裏面for循環的++i與i++

首先咱們應該都知道++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

相關文章
相關標籤/搜索