Heim >Web-Frontend >js-Tutorial >Warum führt das Hinzufügen von Zeichenfolgen in JavaScript zu einer Verkettung statt zu einer numerischen Addition?

Warum führt das Hinzufügen von Zeichenfolgen in JavaScript zu einer Verkettung statt zu einer numerischen Addition?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-24 11:14:10397Durchsuche

Why Does Adding Strings in JavaScript Result in Concatenation Instead of Numerical Addition?

Auflösen einer unerwarteten Zeichenfolgenverkettung bei der numerischen Addition

Problem: Beim Versuch, zwei durch Zeichenfolgen dargestellte Zahlen zu addieren, ist das Ergebnis falsch, weil sie es sind verkettet anstatt summiert zu werden. Beispielsweise gibt 1 2 „12“ anstelle von 3 zurück.

Codeausschnitt:

var y = document.getElementById("txt1").value;
var z = document.getElementById("txt2").value;
var x = y + z;

Erklärung: Die Werte von y und z werden als Zeichenfolgen aus den HTML-Eingabeelementen abgerufen. Wenn diese Zeichenfolgen mit dem Operator „ “ hinzugefügt werden, behandelt JavaScript sie als Text und verkettet sie, anstatt eine mathematische Addition durchzuführen.

Lösung: Um dieses Problem zu beheben, müssen die Zeichenfolgen konvertiert werden zu Zahlen, bevor Sie die Addition durchführen. Dies kann erreicht werden, indem jeder Zeichenfolge der Operator „ “ vorangestellt wird.

var x = +y + +z;

In diesem modifizierten Code wird der Operator „ “ verwendet, um die Zeichenfolgen in Zahlen umzuwandeln, bevor sie addiert werden. Dadurch wird sichergestellt, dass 1 2 die korrekte Summe von 3 zurückgibt und nicht die verkettete Zeichenfolge „12“.

Das obige ist der detaillierte Inhalt vonWarum führt das Hinzufügen von Zeichenfolgen in JavaScript zu einer Verkettung statt zu einer numerischen Addition?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn