除了and之外,还有其他方法可以增加for
Javascript 中的循环吗?例如,我想增加 3 而不是 1。i++
++i
for (var i = 0; i < myVar.length; i+3) {
//every three
}
除了and之外,还有其他方法可以增加for
Javascript 中的循环吗?例如,我想增加 3 而不是 1。i++
++i
for (var i = 0; i < myVar.length; i+3) {
//every three
}
使用+=
赋值运算符:
for (var i = 0; i < myVar.length; i += 3) {
从技术上讲,您可以在 for 循环的最终表达式中放置您想要的任何表达式,但它通常用于更新计数器变量。
有关 for 循环的每个步骤的更多信息,请查看 MDN 文章。
一个for
循环:
for(INIT; TEST; ADVANCE) {
BODY
}
意思如下:
INIT;
while (true) {
if (!TEST)
break;
BODY;
ADVANCE;
}
您几乎可以为INIT
、TEST
、ADVANCE
和编写任何表达式BODY
。
请注意,++
运算符和变体是具有副作用的运算符(如果您不使用它们,应尽量避免使用它们i+=1
):
++i
方法i+=1; return i
i++
方法oldI=i; i+=1; return oldI
例子:
> i=0
> [i++, i, ++i, i, i--, i, --i, i]
[0, 1, 2, 2, 2, 1, 0, 0]
for (var i = 0; i < 10; i = i + 2) {
// code here
}
Andrew Whitaker 的回答是正确的,但您可以对任何部分使用任何表达式。
请记住第二个(中间)表达式应该计算,以便可以将其与布尔值true
或false
.
当我使用for
循环时,我认为它是
for (var i = 0; i < 10; ++i) {
/* expression */
}
作为存在
var i = 0;
while( i < 10 ) {
/* expression */
++i;
}
for (var i = 0; i < myVar.length; i+=3) {
//every three
}
额外的
Operator Example Same As
++ X ++ x = x + 1
-- X -- x = x - 1
+= x += y x = x + y
-= x -= y x = x - y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y
你当然可以。其他人已经正确指出你需要做i += 3
. 您无法执行您发布的内容,因为您在这里所做的只是添加i + 3
但从未将结果分配回i
. i++
只是 的简写i = i + 1
,同样i +=3
是 的简写i = i + 3
。
三元运算符的最后一部分允许您指定增量步长。例如,i++ 表示增加 1。i+=2 与 i=i+2,... 等相同。 示例:
let val= [];
for (let i = 0; i < 9; i+=2) {
val = val + i+",";
}
console.log(val);
预期结果:“2,4,6,8”
'i' 可以是任何浮点数或整数,具体取决于所需的步长。
有一个运营商就是为了这个。例如,如果我想将变量 i 更改为 3,那么:
var someValue = 9;
var Increment = 3;
for(var i=0;i<someValue;i+=Increment){
//do whatever
}
var someValue = 3;
var Increment = 3;
for(var i=9;i>someValue;i+=Increment){
//do whatever
}