Heim  >  Artikel  >  Web-Frontend  >  Warum ist „1 1“ in Javascript manchmal gleich „11“?

Warum ist „1 1“ in Javascript manchmal gleich „11“?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 02:24:02383Durchsuche

Why Does

Verkettung vs. Addition mit dem ( )-Operator in Javascript

Bei der Verwendung des ' '-Operators in Javascript ist es wichtig, sich dessen bewusst zu sein seine duale Natur, da es sowohl zur Verkettung als auch zur Addition verwendet werden kann. Dies kann zu unerwarteten Ergebnissen führen, beispielsweise wenn Sie versuchen, Zahlen hinzuzufügen und stattdessen eine verkettete Zeichenfolge erhalten.

Bedenken Sie den folgenden Code:

<p>i = 1</p>
<p>divID = "question-" + i+1;</p>

Dieser Code würde zu „Frage-11“ führen ' wird 'divID' und nicht der erwarteten 'Frage-2' zugewiesen. Dies liegt daran, dass Javascript den Ausdruck von links nach rechts auswertet und „i“ zuerst mit der Zeichenfolge „question-“ verkettet wird.

Um dieses Problem zu vermeiden und die Addition korrekt durchzuführen, verwenden Sie Klammern, um die Reihenfolge der Operationen durchzusetzen :

<p>divID = "question-" + (i+1);</p>

Dies zwingt Javascript, zuerst den Ausdruck „i 1“ auszuwerten, was zur Addition von „i“ und „1“ führt, was uns „2“ ergibt. Anschließend wird dieser Wert mit der Zeichenfolge „Frage-“ verkettet, was zur korrekten Ausgabe „Frage-2“ führt.

Denken Sie daran, dass der Operator „ “ sowohl Verkettung als auch Addition durchführen kann und dass die Reihenfolge der Operationen dies auch kann Einfluss auf das Ergebnis haben. Verwenden Sie Klammern, um die Reihenfolge der Operationen explizit zu definieren, wenn Sie numerische Werte und Zeichenfolgenwerte kombinieren.

Das obige ist der detaillierte Inhalt vonWarum ist „1 1“ in Javascript manchmal gleich „11“?. 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