Gunnar Bittersmann: onmousedown und +=

Beitrag lesen

Hello out there!

<input type="Text" name="" value="1" onmousedown="this.value *=2;">
Bei jedem Klick eine Verdopplung des Wertes/Values, klar.

Warum geht aber das nicht ?
<input type="Text" name="" value="1" onmousedown="this.value +=2;">
Hier sieht JS das wohl als Verkettung an,

Ja, natürlich, wegen typeof this.value, der ist 'string'.

Für Strings gibt es den '+'-Operator, der macht die Konkatenation.

Für Strings gibt es aber keinen '*'-Operator, deshalb wandelt der JavaScript-Interpreter automatisch in Zahlen um und führt die Multiplikation aus.

See ya up the road,
Gunnar

--
“Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)