12JavaScript字符串

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

1.JavaScript 字符串

字符串能夠存儲一系列字符,如 "John Doe"。正則表達式

字符串能夠是插入到引號中的任何字符。你可使用單引號或雙引號:數組

實例:函數

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

你可使用索引位置來訪問字符串中的每一個字符:spa

var character = carname[7];

字符串的索引從 0 開始,這意味着第一個字符索引值爲 [0],第二個爲 [1], 以此類推。prototype

你能夠在字符串中使用引號,字符串中的引號不要與字符串的引號相同:code

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

咱們也能夠在字符串添加轉義字符來使用引號:htm

 1 <!DOCTYPE html>
 2 <html>
 3 <head> 
 4 <meta charset="utf-8"> 
 5 <title>Yubaba</title> 
 6 </head>
 7 <body>
 8 
 9 <p id="demo"></p>
10 <script>
11 var x = 'It\'s alright';
12 var y = "He is called \"Johnny\"";
13 document.getElementById("demo").innerHTML = x + "<br>" + y; 
14 </script>
15 
16 </body>
17 </html>

運行結果:對象

2.字符串長度

可使用內置屬性 length 來計算字符串的長度blog

 1 <!DOCTYPE html>
 2 <html>
 3 <head> 
 4 <meta charset="utf-8"> 
 5 <title>Yubaba</title> 
 6 </head>
 7 <body>
 8 
 9 <script>
10 var txt = "Hello World!";
11 document.write( txt.length + "<br>");
12 var txt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
13 document.write(txt.length +"<br>");
14 </script>
15 
16 </body>
17 </html>
18 
19 //輸出結果:
20 
21     12
22     26

3.特殊字符

在 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 換頁符

4.字符串能夠是對象

一般, JavaScript 字符串是原始值,可使用字符建立: var firstName = "John"

但咱們也可使用 new 關鍵字將字符串定義爲一個對象: var firstName = new String("John")

實例:

 1 <!DOCTYPE html>
 2 <html>
 3 <head> 
 4 <meta charset="utf-8"> 
 5 <title>Yubaba</title> 
 6 </head>
 7 <body>
 8     
 9 <p id="demo"></p>
10 <script>
11 var x = "John";              // x是一個字符串
12 var y = new String("John");  // y是一個對象
13 document.getElementById("demo").innerHTML ="x類型爲"+typeof x +  " , " +"y類型爲"+ typeof y;
14 </script>
15 
16 </body>
17 </html>

運行結果:

不要建立 String 對象。它會拖慢執行速度,並可能產生其餘反作用:

實例:

 1 <!DOCTYPE html>
 2 <html>
 3 <head> 
 4 <meta charset="utf-8"> 
 5 <title>Yubaba</title> 
 6 </head>
 7 <body>
 8 <p>x===y嗎?</p>    
 9 <p id="demo"></p>
10 <script>
11 var x = "John";              // x 是字符串
12 var y = new String("John");  // y 是一個對象
13 document.getElementById("demo").innerHTML =x===y;
14 </script>
15 <p>=== 爲絕對相等,即數據類型與值都必須相等。</p>
16     
17 </body>
18 </html>

運行結果:

5.字符串屬性和方法

原始值字符串,如 "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() 返回某個字符串對象的原始值
相關文章
相關標籤/搜索