js里面for循环的++i与i++

Posted itgezhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js里面for循环的++i与i++相关的知识,希望对你有一定的参考价值。

首先我们应该都知道++i与i++的区别是: ++i 是先执行 i=i+1 再使用 i 的值,而 i++ 是先使用 i 的值再执行 i=i+1;

然后我们也知道for循环的执行顺序如下:

for(A;B;C)

  D;

进入循环执行A;//只是进入的时候执行.
执行B;//条件为真才执行D,不然就跳出for了.
执行D;
执行C;
再回到第2步开始执行
那么我们接着看下面实例:

1.for (var i=0; i<10; i++):

for(var i = 0; i<10; i++)
   console.log(i);


相当于:

for(var i=0; i<10;)

  console.log(i);
  i++;


2.for (var i=0; i<10; ++i):

for(var i = 0; i<10; ++i)
  console.log(i);

相当于:

for(var i=0; i<10;)

  console.log(i);
  ++i;

在上述的循环体中,i++ 和 ++i 的作用是一样的。

打印出来的信息都是:










9

打印信息也证明了 i++ 和 ++i 的作用是一样的。

 

 

效率问题
++i相当于下列代码 
i += 1; 
return i; 
i++相当于下列代码 
j = i; 
i += 1; 
return j;
写for循环的时候都是写 ++i 而不是 i++。这样效率高。当然如果编译器会将这些差别都优化掉,那么效率就都差不多了。

以上是关于js里面for循环的++i与i++的主要内容,如果未能解决你的问题,请参考以下文章

js的双for循环,求详细解释

js for循环条件判断

javascript里面for循环能做的东西多不多?

js中break跳出多层循环

Node.JS:forEach 与 for 循环异步性质

for里面的for循环不被执行