String類型表示由0或多個16位Unicode字符組成的字符序列,即字符串。ECMAScript中的字符串是不可變的,也就是說,字符串一旦創建,它們的值就不能改變。要改變某個變量保存的字符串,首先要銷毀原來的字符串(此過程是在後台發生的),然後再用另一個包含新值的字符串填充該變量
字符字面量/轉義序列:
\n 換行 \t 制表 \r 回車 \b 空格 \f 換頁符 \\ 斜槓 \' 單引號 \" 雙引號 \xnn \unnn
字符串轉換:兩個方法
1.toString():只有null和undefined沒有這個方法。
每個字符串也都有一個toString()方法,該方法返回字符串的一個副本。多數情況下,調用toString()方法不必傳遞參數,但是,在調用數值的toString()方法時,可以傳遞一個參數:輸出數值的基數。這個方法唯一要做的就是返回相應值的字符串表示。
var num = 10; console.log(num.toString());//"10" console.log(num.toString(2));//"1010"
2.String():適用於所有類型,遵循以下規則
如果值有toString()方法,則調用該方法(沒有參數)並返回相應結果
如果值是null,則返回"null"
如果值是undefined,則返回"undefined"
示例
字符串是一組由16位值組成的不可變的有序序列,每個字符通常來自於Unicode字符集。
var i = "abcdefg";
在JavaScript字符串中,反斜線\有著特殊的用途,反斜線符號後加一個字符,就不再表示它們的字面含義了,不如\n就是一個轉義字符,它表示一個換行符。
'You\'re right, it can\'t be a quote'
JavaScript的內置功能之一就是字符串連接:
msg = "Hello, " + "world";
字符串的length屬性可以查看字符串的長度:
s.length
除了length屬性, 字符串還提供許多可以調用的方法:
var s = "hello, world" //定義一個字符串 s.charAt(0) // => "h" 第一個字符 s.charAt(s.length-1) // => "d" 最後一個字符 s.substring(1, 4) // => "ell" 第2-4個字符 s.slice(1,4) // => "ell" 同上 s.slice(-3) // => "rld": 最後三個字符 s.indexOf("l") // => 2 字符l首次出現的位置 s.lastIndexOf("l") // => 10: 字符l最後一次出現的位置 s.indexOf("l", 3) // => 在位置3及之後首次出現字符l的位置 s.split(",") // => ["hello", "world"]分割成子串 s.replace("h", "H") // => "Hello, world": 全文字符替換 s.toUpperCase() // => "HELLO WORLD"