2017-10-12 33 views
0

我有代码如下:JavaScript中的否定运算符?它是如何工作的?

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 
+3

什么你目前对前缀“ - ”运算符的理解是什么?它不等同于'x-1'。 –

+0

我不确定,我正在按照教程 – HungNguyen

+1

存在问题。我们希望我们的用户在这些情况下搜索其他资源。 [Here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators)查看Decrement。 –

回答

2

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

所以var y = --x的意思是“改变x至等于本身-1,然后将得到的值分配至y”

var y = x--指“分配x到y的值,则改变X为等于本身-1”

如果你只想做一个计算,而不是改变x等于什么,然后做var y = x - 1

1

在这里,在var y = --x;--x设置xx-1和返回的U价值。

如果x为3,则--xx 2和返回2,而x--回报3,只有到那时,将x为2

看一看Arithmetic operators

+1

如果你有答案,你可以选择答案中的任何一个。 – bhansa

相关问题