JavaScript 字串
JavaScript 字串用於儲存和處理文字。
JavaScript 字串
字串可以儲存一系列字符,如 "John Doe"。
字串可以是插入到引號中的任何字元。你可以使用單引號或雙引號:
實例
var
carname = "Volvo XC60";
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 無法解析:x
"We are the so-called "Vikings" from the north." #字串"We are the so-called " 被截斷。
如何解決以上的問題呢?可以使用反斜線(\) 來轉義"Vikings" 字串中的雙引號,如下:反斜線是一個轉義字元。 轉義字元將特殊字元轉換為字串字元:
轉義字元 (\) 可以用於轉義撇號,換行,引號,等其他特殊字元。
下表中列舉了在字串中可以使用轉義字元轉義的特殊字元:
#輸出 | |
---|---|
\' | 單引號 |
#\" | 雙引號 |
\\ | 反斜線 |
\n | 換行 |
\ r | Enter |
\t | tab(製表符) |
\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 物件。它會拖慢執行速度,並可能產生其他副作用: |
---|
#實例
#運行實例»點擊"運行實例" 按鈕查看線上實例
=== 為絕對相等,即資料類型與值都必須相等。 <!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 在執行方法和屬性時可以把原始值當作物件。
字串方法我們將在下一章介紹。
字串屬性
描述 | |
---|---|
傳回建立字串屬性的函數 | |
傳回字串的長度 | |
允許您向物件新增屬性和方法 |
Method | 描述說明 |
---|---|
傳回指定索引位置的字元 | |
#傳回指定索引位置字元的Unicode 值 | |
連接兩個或多個字串,傳回連接後的字串 | |
將Unicode 轉換為字元字串 | |
傳回字串中檢索指定字元第一次出現的位置 | |
傳回字串中檢索指定字元最後一次出現的位置 | |
#使用本機特定的順序來比較兩個字串 | |
找到一個或多個正規表示式的符合 | |
取代與正規表示式相符的子字串 | |
會擷取與正規表示式相符的值 | |
提取字串的片段,並在新的字串中傳回被提取的部分 | |
把字串分割成子字串陣列 | |
從起始索引號碼提取字串中指定數目的字元 | |
擷取字串中兩個指定的索引號之間的字元 | |
根據主機的語言環境把字串轉換為小寫,只有幾種語言(如土耳其語)具有地方特有的大小寫映射 | |
toLowerCase() | |
toString() | |
toUpperCase() | |
trim() | |
valueOf() | |