5 erhöt um 1 + 1.5=6,5?????



  • <html>
         <head>
              <meta http-equiv="Content-Script-Type" content="text/javascript">
         </head>
         <body>
              <script>
                   <!--
                        var x=5; y=1.5;
                        document.write("<br>x="+x+";y="+y)  ;
                        document.write("<br>x++ + y ergibt: " + (x++ + y));
                   //-->
              </script>
         </body>
    </html>
    

    So das is mal kurz meine Website 😃 nicht berauschent aber dient der Übung...
    So zu meinem Problem... Im Javascript teil habe ich eine Rechnung mit einer Ausgabe... mal kurz Nachgerechnet...x=5 x++ um eins erhöt wären 6 + y=1.5 =7.5... aber die Ausgabe ist dann 6.5... kann mir einer Verraten wo hier der Rechnfehler ist??? Schonmal danke im vorraus



  • Schon mal ++x statt x++ versucht? In C++ wird mit x++ die Variable erst nach Abarbeitung des Ausdrucks erhöht, mit ++x, wird das bereits vor der Auswertung getan.



  • devkid schrieb:

    Schon mal ++x statt x++ versucht? In C++ wird mit x++ die Variable erst nach Abarbeitung des Ausdrucks erhöht, mit ++x, wird das bereits vor der Auswertung getan.

    http://de.wikipedia.org/wiki/Inkrement_und_Dekrement

    jop so isses



  • Ok es funktioniert jetzt... aber ganz habe ich das noch net verstanden ob das jetzt davor oder danach passiert müsste doch schnuppe sein, das end ergebnis sollte doch trotzdem 7.5 sein... Kann mir einer das mal erklären???



  • Ach ja und Frohe Weihnachten euch allen natürlich



  • Ganz einfach:

    Bei:

    document.write("<br>x++ + y ergibt: " + (x++ + y));
    

    Wird x erst erhöht, nachdem der ganze Befehl (in diesem Fall document.write ()) abgearbeitet wurde. Du könntest das ganze auch so hier schreiben:

    document.write("<br>x++ + y ergibt: " + (x + y));
    x++;
    

    Bei:

    document.write("<br>x++ + y ergibt: " + (++x + y));
    

    hingegen wird zuerst x erhöht und dann der Befehl abgearbeitet. Du könntest das ganze auch so hier schreiben:

    x++;
    document.write("<br>x++ + y ergibt: " + (x + y));
    


  • Asoooooooooooo... ok jetzt hab ich es auch verstanden, vielen dank


Anmelden zum Antworten