Heim > Artikel > Web-Frontend > Warum ist „1 1“ in Javascript manchmal gleich „11“?
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!