所以我想知道为什么
var x=5
function foo(){
return x++
}
foo()
返回 5 和
var x=5
function foo(){
return ++x
}
foo()
返回 6。
是否因为++
运算符的优先级将其排除在返回之前执行 - 即。优先级是(return x)++
?还是有什么棘手的事情发生?
所以我想知道为什么
var x=5
function foo(){
return x++
}
foo()
返回 5 和
var x=5
function foo(){
return ++x
}
foo()
返回 6。
是否因为++
运算符的优先级将其排除在返回之前执行 - 即。优先级是(return x)++
?还是有什么棘手的事情发生?
这是前/后增量。这就是操作员的工作方式。++var
是pre increment ,这意味着值在返回之前递增,并且var++
是post increment ,其中值在返回后递增。
您可以在此处找到有关这些语义的更多详细信息。