Maison  >  Questions et réponses  >  le corps du texte

javascript - Un problème d'opération d'affectation

var a=0;
b=(a=3)+(a=4);
alerte(a);
alerte(b);
résultat a=4,b=7

Je voudrais demander, pourquoi un 4 ? L'affectation s'effectue-t-elle de droite à gauche ?

phpcn_u1582phpcn_u15822672 Il y a quelques jours803

répondre à tous(5)je répondrai

  • 仅有的幸福

    仅有的幸福2017-06-26 10:57:04

    Ordre des opérations :

    var a = 0; // a 0
    b = (a = 3) + (a = 4);
    // a = 3 ----> a为3,整个赋值语句返回3
    // a = 4 ----> a为4,整个赋值语句返回4
    // 由于返回值的内存和赋值操作用到的a的内存不同,所以b的运算所用的值,只和返回值有关,不受a的值变化的影响,因此,b = 3 + 4 = 7
    // 所以,最终a为4,b为7

    répondre
    0
  • 怪我咯

    怪我咯2017-06-26 10:57:04

    Les opérations d'affectation sont combinées de droite à gauche. La première chose est donc d’attribuer (a=3)+(a=4) à b. Cependant, (a=3)+(a=4) est exécuté de gauche à droite. Cela montre donc que 3 est attribué à a, puis 4 est attribué à a. Donc a finit par être 4 et b finit par être 7.

    répondre
    0
  • 世界只因有你

    世界只因有你2017-06-26 10:57:04

    Exécutez d'abord a=3, puis exécutez a=4, donc à la fin a vaut 4

    répondre
    0
  • 黄舟

    黄舟2017-06-26 10:57:04

    a reçoit la valeur 4

    répondre
    0
  • PHP中文网

    PHP中文网2017-06-26 10:57:04

    b=(a=3)+(a=4) Cette ligne de code est exécutée de gauche à droite Lorsque a=3 est exécuté, 3 est attribué à a. Lorsque a=4, 4 est attribué à a. la valeur finale de a est 4.

    répondre
    0
  • Annulerrépondre