JavaScript中的字符串和數組都是類數組(類數組就是包含有length屬性,常見的是函數中的arguments的對象以及DOM方法返回的結果)。數組
1、與數組的類似點
二者也有不少類似的地方,二者都有length屬性以及indexOf()和concat()方法。函數
2、與數組的不一樣點
在js中,字符串是不可變的(可參考 連接描述 ),而數組是可變的。解釋以下:post
let arr = [1, 2, 3]; arr[1] = 4; // 此時arr = [1, 4, 3] let str = 'string'; str[1] = 'q'; // 此時雖然不會報錯,但str仍是爲'string';就算使用了.charAt(1)也無效,還會報錯
綜上,字符串不可變的意思是,字符串的成員函數不會改變其原始值,而是建立並返回一個新的字符串;相比較數組,數組的成員函數都是在其原始值上進行操做。spa
字符串和數組還有一個不一樣點,在於反轉函數。數組有一個可變動成員函數reverse(),而字符串則沒有,由於字符串是不可變的。
想要字符串進行反轉,須要分爲如下三步:
一、將字符串變爲字符數組;
二、將數組中的字符進行倒轉;
三、將數組中的字符拼接回字符串
過程以下:code
let str = 'string'; let nweStr = str.split('').reverse().join(''); // 先拆分,接着逆序,最後拼接,獲得的字符串就是'gnirts'
字符串的內容就到此結束。對象