Maison > Questions et réponses > le corps du texte
var i = 1;
var a = i++;
console.log(a); //1
C'est compréhensible.
Mais ça :
var i = 1;
i = i++;
console.log(i); //1
Pourquoi y a-t-il encore une sortie ici1
,就算是先赋值了i = 1
,但是i++
的操作还是应该执行的吧,打印i
却还是1
.
滿天的星座2017-05-19 10:45:31
i = i++
Principe :
Supprimez la valeur de la variable i et placez-la dans une variable temporaire.
Augmentez la valeur de la variable i.
Utilisez la valeur de la variable temporaire comme valeur de i avant l'opération d'auto-incrémentation.
Après les trois étapes ci-dessus, bien que la variable i ait été incrémentée à la deuxième étape, la valeur d'origine lui a été attribuée après la troisième étape, le résultat final est donc 1.
伊谢尔伦2017-05-19 10:45:31
http://stackoverflow.com/ques... Référez-vous à ceci, bien que ce soit Java
i++
虽然i加1了,但因为后置++
,所以执行i=i
(此时i指原来的值1),所以就等于是i=1
了。相当于i++
C'est inutile