有人可以解释为什么下面的增量没有添加 +1

Kim*_*omo -6 javascript

有人能帮我解释一下为什么会这样吗

let one = 1;

function chg(arg) {
  return arg++ // --> shouldn't this be similar to arg + arg? but it's outputting 1
}

console.log(one);
console.log(chg(one));
Run Code Online (Sandbox Code Playgroud)

AKX*_*AKX 5

x++是后增量表达式,即它的值是x,并且在返回该值后,变量加一。

++x是预增量表达式,即x先加一,然后返回。

你会想要++x这里 - 或者因为这是一个函数参数,只是更清楚并使用x + 1; ++无论如何,修改将不起作用。

  • 最后一句至关重要,因为我已经可以预料到“为什么 `chg(one); chg(one);` 不继续增加?” 跟进。 (2认同)

归档时间:

查看次数:

72 次

最近记录:

5 年,7 月 前