gpt4 book ai didi

javascript - 为什么在下面的语句中变量名后面的速记算术运算符++不返回2?

转载 作者:搜寻专家 更新时间:2023-11-01 04:44:36 25 4
gpt4 key购买 nike

我有一个非常简单的算术运算符,但我不知道为什么它不返回 2。下面的代码返回 1。我认为 x++ 等于 x = x + 1;

代码

var x = 1;
document.write(x++);

但是,如果我按如下方式运行代码,它会按预期返回 2

代码

var x = 1;
document.write(++x);

我做错了什么?

最佳答案

PostIncrement(变量++) & PostDecrement(变量--)

当您在变量后使用 ++-- 运算符时,变量的值不会递增/递减,直到表达式被求值并且原始值是回来。例如 x++ 转换为类似于以下的内容:

document.write(x);
x += 1;

预递增(++变量) & 预递减(--变量)

当您在变量之前使用 ++-- 运算符时,变量的值在计算表达式并返回新值之前递增/递减.例如 ++x 转换为类似于以下内容:

x += 1;
document.write(x);

后增量和预增量运算符在 C、C++、C#、Java、javascript、php 中可用,我相信还有其他语言。根据why-doesnt-ruby-support-i-or-i-increment-decrement-operators , Ruby 没有这些运算符。

关于javascript - 为什么在下面的语句中变量名后面的速记算术运算符++不返回2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com