2017-10-12 18 views
0

J'ai le code est ci-dessous:L'opérateur de négation en Javascript? comment ça marche?

var x = 4 
var y = --x; 

Pourquoi quand je courir le résultat est:

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

Pourquoi pas est:

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

Qu'est-ce que est votre compréhension actuelle de l'opérateur préfixe '--'? Ce n'est pas équivalent à 'x - 1'. –

+0

Je ne suis pas sûr, je suis suivre le tutoriel – HungNguyen

+1

Il y a le problème. Nous attendons de nos utilisateurs qu'ils recherchent d'autres ressources dans ces situations. [Ici] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators) un coup d'oeil à décrémentation. –

Répondre

2

le decrement operator peut être utilisé à la fois comme préfixe , et en tant que suffixe, et il a un comportement différent. En position de préfixe, cela signifie "décrémenter d'abord, puis renvoyer la valeur" en position postfixée cela signifie "retourner la valeur en premier, puis décrémenter".

Ainsi var y = --x signifie « x changement s'égal à -1, alors attribuer la valeur résultante pour y »

var y = x-- signifie « attribuer la valeur de x à y, puis changer x en lui-même égal à -1 »

Si vous voulez juste faire un calcul et ne change pas ce que x est égal à, puis faire var y = x - 1

1

ici var y = --x;--x sera misx à x-1 et renvoie l'u valeur pdated.

Si x est 3, puis --x ensembles x à 2 et retourne 2, alors que les rendements x-- 3 et, alors seulement, met x à 2.

Jetez un oeil à Arithmetic operators

+1

Si vous avez reçu votre réponse, vous pouvez sélectionner l'une des réponses. – bhansa