English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JavaScript Grundtutorials

JavaScript Objekt

JavaScript Funktion

JS HTML DOM

JS Browser BOM

AJAX Grundtutorials

JavaScript Referenzhandbuch

String in JavaScript

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

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ührungszeichen
Testen 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 entkommen
Testen 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‹/›

Berechnung der Länge der Zeichenfolge

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 15
Testen Sie heraus‹/›

Hinweis:Leerzeichen werden auch als Zeichen betrachtet.

Zeichenfolgenverbindung

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.

Escape-Serien

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 \\

CodeErgebnisBeschreibung
\''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:

CodeBeschreibung
\bBackspace-Taste
\fSeite
\nNeue Zeile
\rReturn
\tHorizontale Tabulator
\vVertikale 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.

Lange Codezeilen

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.

String-Primitiven und String-Objekten

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 object
Testen 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 gleich
Testen 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 unterschiedlich
Testen 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ückgegeben
Testen Sie heraus‹/›

Beachten Sie den Unterschied zwischen (==) und (===). Beim Vergleich zweier JavaScript-Objekte wird immer false zurückgegeben.