JavaScript 字串

JavaScript 字串用於儲存和處理文字。


JavaScript 字串

字串可以儲存一系列字元,如 "John Doe"。

字串可以是插入到引號中的任何字元。你可以使用單引號或雙引號:

例項

var carname = "Volvo XC60";
var carname = 'Volvo XC60';

你可以使用索引位置來訪問字串中的每個字元:

例項

var character = carname[7];

字串的索引從 0 開始,這意味著第一個字元索引值為 [0],第二個為 [1], 以此類推。

你可以在字串中使用引號,字串中的引號不要與字串的引號相同:

例項

var answer = "It's alright";
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';

你也可以在字串新增轉義字元來使用引號:

例項

var x = 'It\'s alright';
var y = "He is called \"Johnny\"";

嘗試一下 ?


字串長度

可以使用內建屬性 length 來計算字串的長度:

例項

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

嘗試一下 ?


特殊字元

在 JavaScript 中,字串寫在單引號或雙引號中。

因為這樣,以下例項 JavaScript 無法解析:

"We are the so-called "Vikings" from the north."

字串 "We are the so-called " 被截斷。

如何解決以上的問題呢?可以使用反斜槓 (\) 來轉義 "Vikings" 字串中的雙引號,如下:

"We are the so-called \"Vikings\" from the north."

反斜槓是一個轉義字元。 轉義字元將特殊字元轉換為字串字元:

轉義字元 (\) 可以用於轉義撇號,換行,引號,等其他特殊字元。

下表中列舉了在字串中可以使用轉義字元轉義的特殊字元:

程式碼 輸出
\' 單引號
\" 雙引號
\\ 反斜槓
\n 換行
\r 回車
\t tab(製表符)
\b 退格符
\f 換頁符


字串可以是物件

通常, JavaScript 字串是原始值,可以使用字元建立: var firstName = "John"

但我們也可以使用 new 關鍵字將字串定義為一個物件: var firstName = new String("John")

例項

var x = "John";
var y = new String("John");
typeof x // 返回 String
typeof y // 返回 Object

嘗試一下 ?

Note 不要建立 String 物件。它會拖慢執行速度,並可能產生其他副作用:

例項

var x = "John";
var y = new String("John");
(x === y) // 結果為 false,因為 x 是字串,y 是物件

嘗試一下 ?

=== 為絕對相等,即資料型別與值都必須相等。



字串屬性和方法

原始值字串,如 "John", 沒有屬性和方法(因為他們不是物件)。

原始值可以使用 JavaScript 的屬性和方法,因為 JavaScript 在執行方法和屬性時可以把原始值當作物件。

字串方法我們將在下一章節中介紹。


字串屬性

屬性 描述
constructor 返回建立字串屬性的函式
length 返回字串的長度
prototype 允許您向物件新增屬性和方法


字串方法

更多方法例項可以參見:JavaScript String 物件。

方法 描述
charAt() 返回指定索引位置的字元
charCodeAt() 返回指定索引位置字元的 Unicode 值
concat() 連線兩個或多個字串,返回連線後的字串
fromCharCode() 將 Unicode 轉換為字串
indexOf() 返回字串中檢索指定字元第一次出現的位置
lastIndexOf() 返回字串中檢索指定字元最後一次出現的位置
localeCompare() 用本地特定的順序來比較兩個字串
match() 找到一個或多個正則表示式的匹配
replace() 替換與正則表示式匹配的子串
search() 檢索與正則表示式相匹配的值
slice() 提取字串的片斷,並在新的字串中返回被提取的部分
split() 把字串分割為子字串陣列
substr() 從起始索引號提取字串中指定數目的字元
substring() 提取字串中兩個指定的索引號之間的字元
toLocaleLowerCase() 根據主機的語言環境把字串轉換為小寫,只有幾種語言(如土耳其語)具有地方特有的大小寫對映
toLocaleUpperCase() 根據主機的語言環境把字串轉換為大寫,只有幾種語言(如土耳其語)具有地方特有的大小寫對映
toLowerCase() 把字串轉換為小寫
toString() 返回字串物件值
toUpperCase() 把字串轉換為大寫
trim() 移除字串首尾空白
valueOf() 返回某個字串物件的原始值