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"';

你也可以在字串中加入轉義字元來使用引號:

實例

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>

<p id="demo"></p>
<script>
var x = 'It\'s alright';
var y = "He is called \"Johnny\"";
document.getElementById("demo").innerHTML = x + "<br>" + y; 
</script>

</body>
</html>

#運行實例»
點擊"運行實例"按鈕查看線上實例

字串長度

可以使用內建屬性

length

來計算字串的長度:##實例

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>

<script>
var txt = "Hello World!";
document.write("<p>" + txt.length + "</p>");
var txt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
document.write("<p>" + txt.length + "</p>");
</script>

</body>
</html>

執行實例»

點擊"運行實例" 按鈕可查看線上實例

##特殊字元

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

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

 "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換行
\ rEnter
\ttab(製表符)
\b退格符
\f換頁符

字串可以是物件

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

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

實例

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>
	
<p id="demo"></p>
<script>
var x = "John";              // x是一个字符串
var y = new String("John");  // y是一个对象
document.getElementById("demo").innerHTML =typeof x + " " + typeof y;
</script>

</body>
</html>

執行實例»##點擊"運行實例" 按鈕查看線上實例

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

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>php中文网(php.cn)</title> 
</head>
<body>
	
<p id="demo"></p>
<script>
var x = "John";              // x 是字符串
var y = new String("John");  // y 是一个对象
document.getElementById("demo").innerHTML = x===y;
</script>
<p>=== 为绝对相等,即数据类型与值都必须相等。</p>
	
</body>
</html>

#運行實例»點擊"運行實例" 按鈕查看線上實例

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


字串屬性和方法

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

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

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


字串屬性

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

字串方法

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