一个for循环可以递增/递减多于一个?

除了i++++i还有其他的方法来增加Javascript中的for循环吗? 例如,我想增加3而不是1。

 for (var i = 0; i < myVar.length; i+3) { //every three } 

使用+= 赋值运算符 :

 for (var i = 0; i < myVar.length; i += 3) { 

从技术上讲,你可以在for循环的最后expression式中放置任何expression式,但通常用于更新计数器variables。

有关for循环的每个步骤的更多信息, 请查看MDN文章 。

  for (var i = 0; i < 10; i=i+2) { // code here }​ 

一个for循环:

 for(INIT; TEST; ADVANCE) { BODY } 

意思如下:

 INIT; while (true) { if (TEST) break; BODY; ADVANCE; } 

您可以为INITTESTADVANCEBODY编写几乎任何expression式。

请注意, ++运算符和变体是带有副作用的运算符(如果你不像i+=1之类那样使用它们,应该尽量避免它们):

  • ++i表示i+=1; return i i+=1; return i
  • i++意思是oldI=i; i+=1; return oldI oldI=i; i+=1; return oldI

例:

 > i=0 > [i++, i, ++i, i, i--, i, --i, i] [0, 1, 2, 2, 2, 1, 0, 0] 

安德鲁·惠特克(Andrew Whitaker)的回答是真实的,但是你可以使用任何expression来expression任
只要记住第二个(中)expression式应该评估,以便它可以比较布尔truefalse

当我使用for循环时 ,我认为它是

 for (var i = 0; i < 10; ++i) { /* expression */ } 

作为

 var i = 0; while( i < 10 ) { /* expression */ ++i; } 

你当然可以。 其他人已经正确指出你需要做i += 3 。 你不能做你已经发布的,因为你在这里所做的只是添加i + 3但从来没有把结果分配给ii++只是i = i + 1的缩写,同样i +=3也是i = i + 3的缩写。