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