javascript - Processus d'exécution dans z=z=z++
滿天的星座
滿天的星座 2017-07-05 10:50:36
0
6
983
var z = 0;
z=z=z++;
alert(z);

La fenêtre pop-up est à 0, pourquoi ?

Suivez

var z = 0;
z++;z=z;
alert(z);

La différence ?

滿天的星座
滿天的星座

répondre à tous(6)
小葫芦

Je suis curieux de savoir si vous faites cela pour faire des questions ou si vous avez vu l'auteur utiliser cette méthode d'écriture dans le code d'un projet open source. Si c'est pour faire des questions ou des tests écrits, je vous suggère de ne pas envisager une telle méthode. école ou entreprise. Parce que cette question n'a aucun sens, Swift3 supprime même l'opérateur ++ La vie est courte et cela ne vaut pas la peine de perdre du temps sur des fonctionnalités de syntaxe déroutantes ou sujettes aux erreurs.

大家讲道理

Deux points :

  1. a = a++ est attribué en premier puis incrémenté

  2. L'expression d'affectation a une valeur de retour, appelée valeur de l'expression

z=z=z++; 

Cela équivaut à attribuer la valeur de l'expression "z=z++" à z, et la valeur de "z=z++" est égale à "z++". "z++" utilise d'abord la valeur actuelle de z puis l'incrémente

给我你的怀抱

Post-incrémentation : une expression comme
n++ renverra une copie de la valeur originale de n, puis la valeur originale de n++
n = n++ La priorité de l'opérateur post-incrémentation est supérieure à celle de l'affectation
Donc le. le côté droit de = incrémentera d'abord n ​​et renverra une copie de la valeur originale de n
Effectuez ensuite une opération d'affectation pour attribuer la valeur originale de n à n, afin que la valeur de n reste inchangée

阿神

La logique de

z++是个表达式,表达式的结果还是z,所以 z=z++相当于z=z 啥也没做,
你要了解下 z++ est de renvoyer d'abord la valeur de la variable, puis de l'incrémenter.

Ou vous pouvez utiliser ++z, le pré-incrémentation consiste à vous incrémenter d'abord, puis à renvoyer le résultat après l'auto-incrémentation

我想大声告诉你

équivaut à

a=z++;
z=a;
z=z;
阿神

++ et = problèmes avec l'ordre des opérations Il est recommandé de jeter un œil à la priorité d'opération et d'affectation

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal