top
Loading...
JavaScript 字符串

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

嘗試一下 »

不要創建 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() 返回某個字符串對象的原始值
北斗有巢氏 有巢氏北斗