Ciągi znaków w JavaScript
- Poprzednia strona Zdarzenia JS
- Następna strona Metody łańcuchowe JS
JavaScript 字符串用于存储和操作文本。
Ciągi znaków w JavaScript
JavaScript 字符串是引号中的零个或多个字符。
Przykład
var x = "Bill Gates";
您可以使用单引号或双引号:
Przykład
var carname = "Porsche 911"; var carname = 'Porsche 911';
您可以在字符串中使用引号,只要不匹配围绕字符串的引号即可:
Przykład
var answer = "It's good to see you again!"; var answer = "He is called 'Bill'"; var answer = 'He is called "Bill"';
字符串长度
内建属性 length
可返回字符串的长度:
Przykład
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
特殊字符
由于字符串必须由引号包围,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)\".";
Sekwencja \'
Wstawienie apostrofy w stringu:
Przykład
var x = 'It\'s good to see you again';
Sekwencja \\\\
Wstawienie ukośnika w stringu:
Przykład
var x = "Znak \"\" nazywany ukośnikiem odwrotnym.";
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.";
Możesz równieżw stringuWstawienie nowej linii, wystarczy użyć ukośnika
Przykład
document.getElementById("demo").innerHTML = "Hello \ Kitty!";
\
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!";
Nie można przeciągać wierszy kodu za pomocą ukośnika
Przykład
document.getElementById("demo").innerHTML = \ "Hello Kitty!";
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
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
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)
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
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
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
.
- Poprzednia strona Zdarzenia JS
- Następna strona Metody łańcuchowe JS