onclick - Variable ändern


<JS;>

Grünschnabel
Hallo liebe Community:),

ich habe einen Button mit einem onclick versehen und will jetzt das sich beim Drücken der Wert der Variable "Button" um 10 vergrößert. Was muss ich dafür in die Funktion ButtonPush() reinschreiben?

HTML:
<html>
<body>
<button onclick="ButtonPush()">Button</button>

<script>
    var Button = 0;

    document.write(Button)
    function ButtonPush(){
}
</script>
</body>
</html>
Schon mal vielen Dank für eure Antworten(y)(y)
 
Zuletzt bearbeitet von einem Moderator:

ComFreek

Mod | @comfreek
Moderator
Button += 10. Wie man mit Variablen in dieser Art umgeht, findest du aber auch in jeder Anfängerressource zu JavaScript oder Programmierung im Allgemeinen ;)

In deinem HTML-Quelltext fehlt übrigens der Doctype. Und var benutzt man in JS eigentlich nicht mehr. Welche Ressource auch immer du verwendest, nimm eine neuere, die let und const zeigt.

Bitte das nächste Mal Codetags verwenden, siehe meine Signature.
 

Jan-Frederik Stieler

Monsterator
Moderator
Hi,
Welche Ressource auch immer du verwendest, nimm eine neuere, die let und const zeigt.
Das würde ich so allgemein jetzt nicht sagen. Wenn Du in mehreren Gültigkeitsbereichen die gleiche Variable benötigst kann sich var durchaus noch als sinnvoll erweisen. Und wenn Du kein ES6 schreibst, z.B. wegen dem IE10, ist das sowieso obsolet.
Du glaubst nicht wie viele Firmen noch XP inhouse laufen lassen. Da funtzt keine normale PWA von heute so aus dem Stehgreif. Selbst auf den Fahrkartenautomaten der Bank ist XP noch als standard OS drauf.

Aber Vorsicht mit altem Code einfach alle var in let umwandeln kann richtig nach hinten losgehen.

Grüße
 

<JS;>

Grünschnabel
Hallo Community:),

wenn sich die Variable Button jetzt um 10 oder mehr erhöht hat. Warum ändert sich dann nicht die schon ausgegebene Variable Button?:unsure:
 

ComFreek

Mod | @comfreek
Moderator
Warum ändert sich dann nicht die schon ausgegebene Variable Button?:unsure:
Dieses Verhalten von "interner Wert ändert sich, dann auch UI und umgekehrt" nennt sich Data Binding. Und das bekommst du nicht einfach kostenlos ;) In vielen Programmiersprachen (und mit Bibliotheken) muss man sich darum kümmern, dass man das explizit bekommt.

Insbesondere wird dein JS-Code auch Zeile für Zeile abgearbeitet. Was nicht in einer Funktion oder in einer Variable gehalten wird, wird quasi verloren. Dein document.write kann faktisch nie ein zweites Mal ausgeführt werden.