所以我想知道为什么
var x=5
function foo(){
return x++
}
foo()
返回5和
var x=5
function foo(){
return ++x
}
foo()
返回6.
是因为++
运算符的优先级排除了它在返回之前执行 - 即。优先级是(return x)++
?或者有什么棘手的事情发生?
答案 0 :(得分:8)
这是前/后增量。这就是运营商的工作方式。 ++var
是 pre 增量,这意味着值在返回之前递增,var++
post 增量,其中值在返回后递增。
您可以找到有关这些语义的更多详细信息 here 。