English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Eine Zeichenkette ist eine Abfolge von einem oder mehreren Zeichen, die aus Buchstaben, Ziffern oder Symbolen bestehen können.
Die Strings in JavaScript sind ein primitiver Datentyp und unveränderlich, was bedeutet, dass sie nicht geändert werden können.
JavaScript-Zeichenfolgen sind Null oder mehrere Zeichen, die in Anführungszeichen eingeschlossen sind.
var x = "JavaScript tutorial ";Testen Sie heraus‹/›
In JavaScript können Sie wählenEinfaches AnführungszeichenoderDoppelte Anführungszeichenum Zeichenfolgen einzuklammern. Beide Methoden funktionieren normal:
var msg1 = "Hello world"; // Verwenden Sie doppelte Anführungszeichen var msg2 = 'Hello world'; // Verwenden Sie einfache AnführungszeichenTesten Sie heraus‹/›
Sie können innerhalb einer Zeichenfolge Anführungszeichen verwenden, solange sie nicht mit den Anführungszeichen um die Zeichenfolge nicht übereinstimmen:
var str1 = 'She said \ // Doppeltes Anführungszeichen innerhalb einfacher Anführungszeichen var str2 = 'She said 'Hey' and left'; // Einzelnes Anführungszeichen innerhalb von doppelten Anführungszeichen var str3 = 'Let's have a cup of tea'; // Einzelnes Anführungszeichen innerhalb von doppelten Anführungszeichen var str4 = 'We\'ll never give up'; // Verwenden Sie den Backslash, um ein einfaches Anführungszeichen zu entkommenTesten Sie heraus‹/›
Die neueste Methode zur Erstellung von Zeichenfolgen heißtTemplate-Konstanten(template literal).
Template-String (template literal) verwenden Backticks (` `), die auf die gleiche Weise funktionieren wie reguläre Zeichenfolgen:
var x = `Diese Zeichenfolge verwendet Backticks.`;Testen Sie heraus‹/›
lengthDie Eigenschaft gibt die Länge der Zeichenfolge zurück. Für leere Zeichenfolgen beträgt die Länge 0.
var str = 'JavaScript tutorial '; str.length;// return 15Testen Sie heraus‹/›
Hinweis:Leerzeichen werden auch als Zeichen betrachtet.
Verkettung bedeutet, zwei oder mehrere Zeichenfolgen zusammenzusetzen, um eine neue Zeichenfolge zu erstellen.
+ Der Operator wird verwendet, um (zu verbinden) Zeichenfolgen hinzuzufügen.
var str1 = "quick brown fox"; var str2 = "over the lazy dog"; var str3 = "The " + str1 + " jumps " + str2;Testen Sie heraus‹/›
Template-StringEine besondere Eigenschaft der Funktion ist die Fähigkeit, Ausdrücke und Variablen in Zeichenfolgen zu enthalten. Anstatt zu verketteten, können wir die ${}-Syntax verwenden, um Variablen einzufügen.
var str1 = "quick brown fox"; var str2 = "over the lazy dog"; var str3 = `The ${str1} springt ${str2}.`;Testen Sie heraus‹/›
In diesem Fall könnte die Verwendung von Template-String (template literal) möglicherweise einfacher und bequemer sein.
Da Strings in Anführungszeichen eingeschlossen sein müssen, wird der folgende Inhalt fehlschlagen, da er den Browser verwirren würde, den Abschluss der Zeichenkette zu erkennen:
var x = 'We'll never give up'; var y = "She said 'Hey' and left";
Escape-Serien bedeuten, dass wir sie bearbeiten, um sicherzustellen, dass sie als Text und nicht als Teil des Codes erkannt werden.
In JavaScript erreichen wir dies, indem wir vor dem Zeichen \\
Code | Ergebnis | Beschreibung |
---|---|---|
\' | ' | Einfaches Anführungszeichen |
\" | “” | Doppelte Anführungszeichen |
\\ | \ | Backslash |
Diese Sequenz \' fügt in den String einen einfachen Anführungszeichen ein:
Diese Sequenz \
var x = "She said \\Testen Sie heraus‹/›
Diese Sequenz \\ fügt in den String einen Backslash ein:
var x = "The character \\ is called backslash";Testen Sie heraus‹/›
Es gibt auch noch sechs weitere Escape-Sequenzen in JavaScript gültig:
Code | Beschreibung |
---|---|
\b | Backspace-Taste |
\f | Seite |
\n | Neue Zeile |
\r | Return |
\t | Horizontale Tabulator |
\v | Vertikale Tabulator |
Die Escape-Sequenzen sind auch nützlich für Fälle, in denen Zeichen verwendet werden, die nicht mit der Tastatur eingegeben werden können.
Um die beste Lesbarkeit zu gewährleisten, sollte vermieden werden, dass Codezeilen länger als80 Zeichen.
Wenn ein JavaScript-Ausdruck nicht auf einer Zeile passen würde, ist es am besten, ihn nach dem Operator zu brechen:
document.getElementById("para").innerHTML = "The sum of 20 und 30 ist " + sum;Testen Sie heraus‹/›
Ein sehr langer String auf einer Zeile wird schnell schwer lesbar und zu verwenden sein.
Wir können den Concatenationsoperator (+() um Strings auf mehreren Zeilen anzuzeigen.
var str = "Die Luftverschmutzung tritt in " + "Die Atmosphäre. Sie stört das Ökosystem und führt dazu " + "Mehrere Krankheiten.";Testen Sie heraus‹/›
Neben der Verwendung mehrerer Strings können wir auch den \-Escapetoken verwenden.
var str = "Die Luftverschmutzung tritt in \ Die Atmosphäre. Sie stört das Ökosystem und führt dazu \ Mehrere Krankheiten.";Testen Sie heraus‹/›
Hinweis:dieser Methode wird nicht bevorzugt, da sie möglicherweise Probleme mit bestimmten Browsern und Minifiers verursachen kann.
Um den Code lesbarer zu machen, können wir stattdessenTemplate-Konstanten(template literal)Strings. Diese beseitigen das Bedürfnis, lange Strings zu verketten oder zu escapen.
var str = `Die Luftverschmutzung tritt in Die Atmosphäre. Sie stört das Ökosystem und führt dazu Mehrere Krankheiten.`;Testen Sie heraus‹/›
Es ist wichtig zu wissen, alle Methoden zur Erstellung von Zeilen umfassenden Strings zu kennen, da verschiedene Bibliotheken möglicherweise verschiedene Standards verwenden.
In der Regel werden JavaScript-Strings aus den ursprünglichen Werten der Texte erstellt:
var city = "New Delhi";
Aber es kann auch verwendet werden, um Strings mit dem new-Schlüsselwort als Objekte zu definieren:
var city = new String("New Delhi");
Um die Unterschiede zwischen beiden zu testen, initialisieren wir einen String-Primärwert und einen String-Objekt.
var str1 = "New Delhi"; var str2 = new String("New Delhi"); typeof str1// returns string typeof str2// returns objectTesten Sie heraus‹/›
Hinweis:Erstellen Sie keine Strings als Objekte. Dies kann die Ausführungszeit verringern und einige unerwartete Ergebnisse verursachen.
wenn Sie den Operator == verwenden, sind gleiche Strings gleich:
var str1 = "New Delhi"; var str2 = new String("New Delhi"); document.write(str1 == str2); //wird true zurückgegeben, weil str1und str2Werte sind gleichTesten Sie heraus‹/›
Wenn Sie den Operator === verwenden, sind gleiche Strings unterschiedlich, da der Operator === sowohl Wert als auch Typ erwarten möchte:
var str1 = "New Delhi"; var str2 = new String("New Delhi"); document.write(str1 === str2); //wird false zurückgegeben, weil str1und str2Typen sind unterschiedlichTesten Sie heraus‹/›
Kann Objekte nicht vergleichen:
var str1 = new String("New Delhi"); var str2 = new String("New Delhi"); document.write(str1 == str2); //weil str1und str2Sie sind verschiedene Objekte, daher wird false zurückgegeben document.write(str1 === str2); //weil str1und str2Sie sind verschiedene Objekte, daher wird false zurückgegebenTesten Sie heraus‹/›
Beachten Sie den Unterschied zwischen (==) und (===). Beim Vergleich zweier JavaScript-Objekte wird immer false zurückgegeben.