2017-10-12 32 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

相關問題