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 = ++x
,y
变量会在x
递增后赋值。
如果你写y = x++
,y
变量将被赋值之前递增x
。
如果x
是1
,则第一个将y
设置为2
;第二个会将y
设置为1
。
【讨论】:
以上是关于x++和++x有啥区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Javascript中的parseInt(x)和+(x)有啥区别[重复]