x++和++x有啥区别[重复]

Posted

技术标签:

【中文标题】x++和++x有啥区别[重复]【英文标题】:What is the difference between x++ and ++x [duplicate]x++和++x有什么区别[重复] 【发布时间】:2011-05-10 07:39:06 【问题描述】:

可能重复:Incrementing in C++ - When to use x++ or ++x?

x++ 和 ++x 有什么区别?

【问题讨论】:

Incrementing in C++ - When to use x++ or ++x? 的可能重复项 - 尽管答案是针对 C++,但它在 javascript 中的工作方式完全相同。 另见***.com/questions/1968371/understanding-incrementing 想知道有人应该如何知道它在 Javascript 和 C++ 中的工作方式相同。问题是这些表达式如何在 Javascript 中工作。对我来说,这显然不是一个重复的问题。尤其是作为初学者,您只会看到特定于语言的语法,而不是其背后的抽象概念。 【参考方案1】:

x++ 执行语句,然后递增值。

++x 增加值然后执行语句。

var x = 1;
var y = x++; // y = 1, x = 2
var z = ++x; // z = 3, x = 3

【讨论】:

【参考方案2】:

++x 在运算顺序上高于x++++x 发生在分配之前,但 x++ 发生在分配之后。

例如:

var x = 5;
var a = x++;
// now a == 5, x == 6

还有:

var x = 5;
var a = ++x;
// now a == 6, x == 6

【讨论】:

【参考方案3】:

x++ 返回 x,然后将其递增。

++x 增加 x,然后返回它。

【讨论】:

【参考方案4】:

如果你写y = ++xy变量会在x递增后赋值。 如果你写y = x++y 变量将被赋值之前递增x

如果x1,则第一个将y设置为2;第二个会将y 设置为1

【讨论】:

以上是关于x++和++x有啥区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Javascript中的parseInt(x)和+(x)有啥区别[重复]

WPF:“名称”和“x:名称”有啥区别? [复制]

malloc和数组有啥区别

C# 中的逻辑和条件 AND、OR 有啥区别? [复制]

nullable == null 和 nullable.hasvalue 之间有啥区别(如果有的话)[重复]

MariaDB10.0.x和5.5.x有啥区别