Grok前后增量

时间:2014-05-22 09:24:24

标签: javascript

以下是示例代码:

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

var x = 20;
switch(x++){
  case 20:
    console.log("20 " + x++);
    break;
  case 21:
    console.log("21 " + x++);
    break;
  default:
    console.log(x++);
    break;
}

如果是postincrement,则console.log( expression )和switch( expression ){}在递增之前获取值。 在我的例子中,我得到了&#34; 20 21&#34;作为switch语句的结果。

为什么在for循环中,如果我放置后增量或者预先增量,它并不是真的很好?

2 个答案:

答案 0 :(得分:2)

查看执行增量的语句:

i++

返回值没有任何效果。它没有分配给变量。它没有传递给函数。

如果在增量之前或之后获取返回值并不重要,因为它被忽略。

答案 1 :(得分:1)

为了帮助您了解发生的事情,您可以重写for循环

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

到像

这样的while循环
var i = 0;
while (i < 10) {
    console.log(i);
    i++;
}

将其设置为while循环可能会更清楚,为什么写i++++i无关紧要。