Ciągi znaków w JavaScript

JavaScript 字符串用于存储和操作文本。

Ciągi znaków w JavaScript

JavaScript 字符串是引号中的零个或多个字符。

Przykład

var x = "Bill Gates";

Spróbuj sam

您可以使用单引号或双引号:

Przykład

var carname = "Porsche 911";
var carname = 'Porsche 911';

Spróbuj sam

您可以在字符串中使用引号,只要不匹配围绕字符串的引号即可:

Przykład

var answer = "It's good to see you again!";
var answer = "He is called 'Bill'";
var answer = 'He is called "Bill"';

Spróbuj sam

字符串长度

内建属性 length 可返回字符串的长度

Przykład

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

Spróbuj sam

特殊字符

由于字符串必须由引号包围,JavaScript 会误解这段字符串:

var y = "中国是瓷器的故乡,因此 china 与"China(中国)"同名。"

该字符串将被切为 "中国是瓷器的故乡,因此 china 与"。

避免此问题的解决方案是,使用 \ 转义字符.

反斜杠转义字符将特殊字符转换为字符串字符:

Kod Wynik 描述
\' ' 单引号
\" " Cudzysłów
\\\\ \ Ukośnik

Przykład

Sekwencja \" Wstawienie cudzysłowów w stringu:

Przykład

var x = "Chiny są ojczyzną porcelany, więc china ma to samo nazwisko co \"China (Chiny)\".";

Spróbuj sam

Sekwencja \' Wstawienie apostrofy w stringu:

Przykład

var x = 'It\'s good to see you again';

Spróbuj sam

Sekwencja \\\\ Wstawienie ukośnika w stringu:

Przykład

var x = "Znak \"\" nazywany ukośnikiem odwrotnym.";

Spróbuj sam

Znakami ucieczki (\)może również być używane do wstawienia innych znaków specjalnych w stringu.

Inne sześć有效nych sekwencji ucieczki w JavaScript:

Kod Wynik
\b Klawisz backspace
\f Strona
\n Nowa linia
\r Wstęp do tekstu
\t Tabulator poziomy
\v Wertabulator

Te sześć znaków ucieczki pierwotnie były zaprojektowane do kontroli drukarek, telegraphów i faksów. Nie mają one znaczenia w HTML.

Przeciąganie długich wierszy kodu

Aby uzyskać najlepszą czytelność, programiści często unikają przekraczania 80 znaków w jednym wierszu kodu.

Jeśli jakieś polecenie JavaScript nie pasuje do jednego wiersza, najlepszym miejscem na jego przeciągnięcie jest po operatorze:

Przykład

document.getElementById("demo").innerHTML =
"Hello Kitty.";

Spróbuj sam

Możesz równieżw stringuWstawienie nowej linii, wystarczy użyć ukośnika

Przykład

document.getElementById("demo").innerHTML = "Hello \
Kitty!";

Spróbuj sam

\ Metoda nie jest standardem ECMAScript (JavaScript)

Niektóre przeglądarki nie zezwalają również \ spacja po znaku

Najbezpieczniejszym sposobem na wstawienie długiego stringa (choć może być powolny) jest używanie dodawania stringów:

Przykład

document.getElementById("demo").innerHTML = "Hello" + 
"Kitty!";

Spróbuj sam

Nie można przeciągać wierszy kodu za pomocą ukośnika

Przykład

document.getElementById("demo").innerHTML = \ 
"Hello Kitty!";

Spróbuj sam

Stringi mogą być obiektami

Zwykle, stringi JavaScript są wartościami pierwotnymi, tworzone w sposób literalny:

var firstName = "Bill"

Ale stringi mogą być również zdefiniowane za pomocą słowa kluczowego new Zdefiniowane jako obiekt:

var firstName = new String("Bill")

Przykład

var x = "Bill";
var y = new String("Bill");
// typeof x zwróci string
// typeof y zwróci object

Spróbuj sam

Nie twórz ciągów jako obiektów. Zmniejszy to szybkość działania.

new Słowo kluczowe może złożoność kodu. Może również prowadzić do niespodziewanych rezultatów:

Gdy używasz == Operator równości, gdy używany

Przykład

var x = "Bill";             
var y = new String("Bill");
// (x == y) jest prawdziwe, ponieważ x i y mają równe wartości

Spróbuj sam

Gdy używasz === Operator, gdy używany === Operator wymaga jednoczesnego równania typu i wartości.

Przykład

var x = "Bill";             
var y = new String("Bill");
// (x === y) jest fałszywe, ponieważ x i y mają różne typy (łańcuch i obiekt)

Spróbuj sam

Nawet gorzej. Obiekty nie mogą być porównywane:

Przykład

var x = new String("Bill");             
var y = new String("Bill");
// (x == y) jest fałszywe, ponieważ x i y są różnymi obiektami

Spróbuj sam

Przykład

var x = new String("Bill");             
var y = new String("Bill");
// (x === y) jest fałszywe, ponieważ x i y są różnymi obiektami

Spróbuj sam

Proszę zauważyć różnicę między (x==y) a (x===y).

Obiekty JavaScript nie mogą być porównywane, porównanie dwóch obiektów JavaScript zawsze zwróci false.