JavaScript的字符串被用於存儲和操作的文本。
JavaScript的字符串
一個JavaScript字符串只存儲一個系列一樣的人物"John Doe" 。
一個字符串可以是引號內的任何文本。 您可以使用單或雙引號:
您可以使用引號的字符串裡面,只要它們不匹配周圍的字符串引號:
例
var answer = "It's alright";
var answer = "He is called 'Johnny'";
var answer = 'He is called "Johnny"';
試一試» 字符串長度
字符串的長度在內置在屬性長度是發現:
特殊字符
因為字符串必須引號內寫的,JavaScript的會誤解這個字符串:
var y = "We are the so-called "Vikings" from the north."
字符串將被切碎以"We are the so-called " 。
避免這個問題的解決方案,是使用\轉義字符 。
反斜杠轉義字符變成特殊字符轉換成字符串中的字符:
轉義字符(\)也可以用來在一個串中插入其他特殊字符。
這是指可以加入的文本串與反斜線符號特殊字符列表:
碼 | 輸出 |
---|---|
\' | 單引號 |
\" | 雙引號 |
\\ | 反斜線 |
\n | 新隊 |
\r | 回車 |
\t | 標籤 |
\b | 退格 |
\f | 換 |
打破龍行代碼
為了獲得最佳的可讀性,程序員往往喜歡以避免代碼行數超過80個字符。
如果一個JavaScript語句不適合在一行,打破它是運營商後最好的地方:
您也可以分手的文本字符串用一個反斜杠中的代碼行:
所述\方法不是ECMAScript (JavaScript)標準。
有些瀏覽器不允許在後面的空間\字符。
最安全的(但慢一點)的方式,打破了長字符串是用另外的字符串:
你不能打破一個反斜杠代碼行:
字符串可以是對象
通常情況下,JavaScript的字符串是基本值,從字面創建: var firstName = "John"
但串也可以定義為與關鍵字新對象: var firstName = new String("John")
例
var x = "John";
var y = new String("John");
// typeof x will return string
// typeof y will return object
試一試» 不要創建字符串作為對象。 它會減慢執行速度。
在new關鍵字代碼複雜化。 這可能會產生一些意想不到的結果:
當使用==等於運算符,等於字符串看起來平等的:
例
var x = "John";
var y = new String("John");
// (x == y) is true because x and y have equal values
試一試» 當使用===等於運算符,等於字符串不相等的,因為===運營商期望在這兩個類型和值相等。
例
var x = "John";
var y = new String("John");
// (x === y) is false because x and y have different types
(string and object)
試一試» 或者更糟。 對象不能比擬的:
例
var x = new String("John");
var y = new String("John");
// (x == y) is false because x and y are different objects
// (x == x) is
true because both are the same object
試一試» JavaScript對象所不能比擬的。