JavaScript - 字串



JavaScript 中的String 物件允許你處理一系列字元;它使用許多輔助方法包裝 JavaScript 的字串原始資料型別。

由於 JavaScript 自動在字串原始值和 String 物件之間進行轉換,因此你可以對字串原始值呼叫 String 物件的任何輔助方法。

字串是一系列字元,包含 0 個或多個字元。例如,'Hello' 是一個字串。

語法

可以使用 String() 建構函式建立 JavaScript 字串物件,或者使用字串字面量建立字串原始值。

使用以下語法建立 String 物件:

var val = new String(value);

String 引數 value 是一系列已正確編碼的字元。

我們可以使用字串字面量和 String() 函式建立字串原始值,如下所示:

str1 = 'Hello World!'; // using single quote
str2 = "Hello World!"; // using double quote
str3 = 'Hello World'; // using back ticks
str4 = String('Hello World!'); // using String() function

JavaScript 字串物件屬性

以下是 String 物件的屬性列表及其描述。

序號 屬性 描述
1 constructor 返回建立該物件的 String 函式的引用。
2 length 返回字串的長度。
3 prototype prototype 屬性允許你向物件新增屬性和方法。

JavaScript 字串物件方法

以下是 String 物件中可用的方法列表及其描述。

靜態方法

靜態方法使用“String”類本身呼叫。

序號 屬性 描述
1 fromCharCode() 將 UTF-16 程式碼單元序列轉換為字串。
2 fromCodePoint() 根據給定的 ASCII 值序列建立字串。

例項方法

例項方法使用 String 類的例項呼叫。

序號 方法 描述
1 at() 返回指定索引處的字元。
2 charAt() 返回指定索引處的字元。
3 charCodeAt() 返回一個數字,表示給定索引處字元的 Unicode 值。
4 codePointAt() 返回一個數字,表示給定索引處字元的 Unicode 值。
5 concat() 組合兩個字串的文字並返回一個新字串。
6 endsWith() 檢查字串是否以特定字元或子字串結尾。
7 includes() 檢查一個字串是否存在於另一個字串中。
8 indexOf() 返回在呼叫 String 物件中指定值的第一次出現的索引,如果未找到則返回 -1。
9 lastIndexOf() 返回在呼叫 String 物件中指定值的最後一次出現的索引,如果未找到則返回 -1。
10 localeCompare() 返回一個數字,指示引用字串在排序順序中是在給定字串之前、之後還是與之相同。
11 match() 用於將正則表示式與字串匹配。
12 matchAll() 用於匹配字串中正則表示式模式的所有出現。
13 normalize() 獲取字串的 Unicode 規範化。
14 padEnd() 使用不同的字串在結尾處新增填充到當前字串。
15 padStart() 使用不同的字串在開頭處新增填充到當前字串。
16 raw() 返回給定模板字面量的原始字串形式。
17 repeat() 獲取包含當前字串的 N 個副本的新字串。
18 replace() 用於查詢正則表示式和字串之間的匹配項,並將匹配的子字串替換為新的子字串。
19 replaceAll() 用於查詢正則表示式和字串之間的匹配項,並將所有匹配的子字串替換為新的子字串。
20 search() 執行對正則表示式和指定字串之間匹配項的搜尋。
21 slice() 提取字串的一部分並返回一個新字串。
22 split() 將字串物件分割成字串陣列,透過將字串分割成子字串。
23 substr() 返回從指定位置開始,包含指定數量字元的字串中的字元。
24 substring() 返回字串中兩個索引之間的字元。
25 toLocaleLowerCase() 字串中的字元轉換為小寫,同時尊重當前區域設定。
26 toLocaleUpperCase() 字串中的字元轉換為大寫,同時尊重當前區域設定。
27 toLowerCase() 返回呼叫字串值轉換為小寫後的結果。
28 toString() 返回表示指定物件的字串。
29 toUpperCase() 返回呼叫字串值轉換為大寫後的結果。
30 toWellFormed() 返回一個新字串,它是此字串的副本。
31 trim() 去除兩端空格。
32 trimEnd() 去除尾部空格。
33 trimStart() 去除頭部空格。
34 valueOf() 返回指定物件的原始值。

String 建構函式

序號 建構函式 描述
1 String() 建立一個字串物件並用提供的值初始化它。

示例

讓我們透過一些示例來了解 JavaScript 字串物件和字串原語。

示例:建立 JavaScript 字串物件

在下面的示例中,我們使用 `string()` 建構函式和 `new` 關鍵字來建立一個字串物件。

<html>
<head>
   <title> JavaScript - String Object </title>
</head>
<body>
   <p id = "output"> </p>
   <script>
      const output = document.getElementById("output");
      const str = new String("Hello World!");
      output.innerHTML += "str == " + str + "<br>";
      output.innerHTML += "typeof str == " + typeof str;
   </script>
</body>
</html>

輸出

str == Hello World!
typeof str == object

訪問字串

您可以使用其索引訪問字串字元。字串索引從 0 開始。

示例

在下面的示例中,我們訪問字串第 0 個和第 4 個索引處的字元。

<html>
<body>
   <p id = "output"> </p>
   <script>
      const output = document.getElementById("output");
      let str1 = new String("Welcome!");
      let str2 = "Welcome!";
      output.innerHTML += "0th character is - " + str1[0] + "<br>";
      output.innerHTML += "4th character is - " + str2[4] + "<br>";
   </script>
</body>
</html>
輸出
0th character is - W
4th character is - o

JavaScript 字串區分大小寫

在 JavaScript 中,字串區分大小寫。這意味著小寫和大寫字元是不同的。

示例

在下面的示例中,char1 包含大寫字母“S”,char2 包含小寫字母“s”。當您比較 char1 和 char2 時,它返回 false,因為字串區分大小寫。

<html>
<head>
   <title> JavaScript - String case-sensitivity </title>
</head>
<body>
   <p id = "output"> 

<script> let char1 = 'S'; let char2 = 's' let ans = char1 == char2; document.getElementById("output").innerHTML += "s == S " + ans; </script> </body> </html>

輸出
s == S false

JavaScript 字串是不可變的

在 JavaScript 中,您不能更改字串的字元。但是,您可以更新整個字串。

示例

在下面的示例中,我們嘗試更新字串的第一個字元,但它不會被更新,您可以在輸出中看到這一點。

之後,我們更新整個字串,您可以觀察字串的變化。

<html>
<head>
   <title> JavaScript − Immutable String </title>
</head>
<body>
   <p id = "output"> </p>
   <script>
      const output = document.getElementById("output");
      let str = "Animal";
      str[0] = 'j';
      output.innerHTML += "The string is: " + str + "<br>";
      str = "Hi!";
      output.innerHTML += "The updated string is: " + str;
   </script>
</body>
</html>
輸出
The string is: Animal
The updated string is: Hi!

跳脫字元

您可以使用反斜槓 (\) 字元在字串中使用特殊字元。以下是特殊字元列表。

跳脫字元 描述
\" 雙引號
\' 單引號
\\ 反斜槓
\n 換行
\t 製表符
\b 退格
\f 換頁
\v 垂直製表符
\r 回車
\uXXXX Unicode 轉義

示例

在下面的示例中,我們在 str1 字串的字元之間添加了一個單引號,在 str2 字串的字元之間添加了一個反斜槓。

<html>
<head>
   <title> JavaScript - Escape Characters </title>
</head>
<body>
   <p id = "output"> </p>
   <script>
      const output = document.getElementById("output");
      let str1 = "Your\'s welcome!";
      let str2 = "Backslash \\";
      output.innerHTML += "str1 == " + str1 + "<br>";
      output.innerHTML += "str2 == " + str2 + "<br>";
   </script>
</body>
</html>
輸出
str1 == Your's welcome!
str2 == Backslash \

字串 HTML 包裝器

以下是一些返回包裝在適當 HTML 標籤中的字串副本的方法列表。

序號 方法和說明
1

anchor()

建立一個用作超文字目標的 HTML 錨。

2

big()

建立一個以大字型顯示的字串,就像它在``標籤中一樣。

3

blink()

建立一個閃爍的字串,就像它在``標籤中一樣。

4

bold()

建立一個以粗體顯示的字串,就像它在``標籤中一樣。

5

fixed()

使字串以等寬字型顯示,就像它在``標籤中一樣。

6

fontcolor()

使字串以指定顏色顯示,就像它在``標籤中一樣。

7

fontsize()

使字串以指定字型大小顯示,就像它在``標籤中一樣。

8

italics()

使字串以斜體顯示,就像它在``標籤中一樣。

9

link()

建立一個請求另一個 URL 的 HTML 超文字連結。

10

small()

使字串以小字型顯示,就像它在``標籤中一樣。

11

strike()

使字串顯示為刪除線文字,就像它在``標籤中一樣。

12

sub()

使字串顯示為下標,就像它在``標籤中一樣。

13

sup()

使字串顯示為上標,就像它在``標籤中一樣。

在以下部分,我們將有一些示例來演示字串方法的使用。

廣告