Javascript返回var ++

Pet*_*fel 1 javascript return operator-precedence

所以我想知道为什么

var x=5
function foo(){
  return x++
}
foo()
Run Code Online (Sandbox Code Playgroud)

返回5和

var x=5
function foo(){
  return ++x
}
foo()
Run Code Online (Sandbox Code Playgroud)

返回6.

是因为++操作员的优先顺序排除它在返回之前执行 - 即.优先权是(return x)++?或者有什么棘手的事情发生?

Aus*_*rst 8

这是前/后增量.这就是运营商的工作方式.++var增量,表示该值在返回之前递增,并且var++增量,其中值在返回后递增.

您可以在此处找到有关这些语义的更多详细信息.