Heim > Web-Frontend > js-Tutorial > Hauptteil

Warum verkettet JavaScript mit dem Plus-Operator ( ), anstatt etwas hinzuzufügen?

Linda Hamilton
Freigeben: 2024-10-28 23:39:30
Original
799 Leute haben es durchsucht

Why Does JavaScript Concatenate Instead of Adding with the Plus ( ) Operator?

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;
Nach dem Login kopieren

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:

  1. "question-" i: Da "question-" eine Zeichenfolge ist, erfolgt eine Verkettung, was zu "question-1" führt.
  2. "Frage-1" 1: Auch hier erfolgt die Verkettung aufgrund des String-Operanden und ergibt „Frage-11".

Um die gewünschte Summierung zu erhalten, schließen Sie den numerischen Ausdruck in Klammern ein:

var divID = "question-" + (i+1);
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!