Verkettung versus Summation mit dem Plus ( )-Operator in JavaScript
Ein häufiges Problem in JavaScript ist die unerwartete Verkettung von Variablen anstelle ihrer Variablen beabsichtigte Summierung bei Verwendung des Plus-Operators ( ). Wenn beispielsweise der folgende Code ausgeführt wird, vorausgesetzt, dass i auf 1 initialisiert ist:
divID = "question-" + i+1;
Das erhaltene Ergebnis ist „Frage-11“ anstelle von „Frage-2“.
Dies Das Phänomen tritt auf, weil der Plus-Operator ( ) sowohl die Verkettung als auch die Addition verarbeitet. Bei Anwendung auf verschiedene Operandentypen priorisiert der Operator die Verkettung, wenn ein Operand eine Zeichenfolge ist. Daher werden die Operationen von links nach rechts verarbeitet:
Um die gewünschte Summierung zu erhalten, schließen Sie den numerischen Ausdruck in Klammern ein:
var divID = "question-" + (i+1);
Dadurch wird sichergestellt, dass zuerst die Addition von i und 1 durchgeführt wird und das Ergebnis (2) dann mit „question-“ verkettet wird. Das Ergebnis ist wie beabsichtigt „Frage-2“.
Dieses Verhalten kommt in verschiedenen Programmiersprachen vor, nicht nur in JavaScript. Es ist wichtig zu bedenken, dass die Reihenfolge, in der Operationen ausgeführt werden, wichtig ist, insbesondere wenn es um mehrere Arten von Operanden und Operatoren geht. Die Verwendung von Klammern steuert explizit die Reihenfolge der Auswertung und verhindert so unerwartete Ergebnisse.
Das obige ist der detaillierte Inhalt vonWarum verkettet JavaScript mit dem Plus-Operator ( ), anstatt etwas hinzuzufügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!