Javascript中的否定运算符?它是如何工作的?

时间:2017-10-12 19:38:05

标签: javascript variables operators

我的代码如下:

var x = 4 
var y = --x; 

为什么我运行结果时是:

console.log("value of x: ",x); //outputs 3 
console.log("value of y: ",y); //outputs 3

为什么不是:

console.log("value of x: ",x); //outputs 4 
console.log("value of y: ",y); //outputs 3

2 个答案:

答案 0 :(得分:1)

decrement operator既可以用作前缀,也可以用作后缀,并且具有不同的行为。在前缀位置,它意味着“先减少,然后在后缀位置返回值”,这意味着“首先返回值,然后递减”。

所以var y = --x表示“将x改为等于-1,然后将结果值赋给y”

var y = x--表示“将x的值赋给y,然后将x更改为等于自身-1”

如果您只是想进行计算而不是更改x等于,那么请var y = x - 1

答案 1 :(得分:0)

此处var y = --x; --x x设置为x-1并返回更新后的值。

  

如果x为3,那么--x会将x设置为2并返回2,而x--会返回3,然后才会将x设置为2。

查看Arithmetic operators