JS String對象的方法總結(ES5 與 ES6) 二


ES5字符串方法

1. String.fromCharCode() 該方法的參數是一系列Unicode碼點,返回對應的字符串。

2. charAt() 該方法返回指定位置的字符,參數是從0開始編號的位置。

var s = new String('abc');
s.charAt(1) // "b"
s.charAt(s.length - 1) // "c"

// 這個方法完全可以用數組下標替代。
'abc'.charAt(1) // "b"
'abc'[1] // "b"

3. charCodeAt()方法返回給定位置字符的Unicode碼點(十進制表示),相當於String.fromCharCode()的逆操作。

 

4. concat() 方法用於連接兩個字符串,返回一個新字符串,不改變原字符串。

5.  slice()  方法用於從原字符串取出子字符串並返回,不改變原字符串。它的第一個參數是子字符串的開始位置,第二個參數是子字符串的結束位置(不含該位置)。

6.  substring() 方 法用於從原字符串取出子字符串並返回,不改變原字符串。它與slice作用相同,但有一些奇怪的規則,因此不建議使用這個方法,優先使用slice方法的第一個參數表示子字符串的開始位置,第二個位置表示結束位置。

7.  substr()方法用於從原字符串取出子字符串並返回,不改變原字符串。方法的第一個參數是子字符串的開始位置,第二個參數是子字符串的長度。

8.  indexOf(),lastIndexOf()這兩個方法用於確定一個字符串在另一個字符串中的位置,都返回一個整數,表示匹配開始的位置。如果返回-1,就表示不匹配。兩者的區別在於,indexOf從字符串頭部開始匹配,lastIndexOf從尾部開始匹配。

9. trim() 方法用於去除字符串兩端的空格,返回一個新字符串,不改變原字符串。

10.  toLowerCase(),toUpperCase(),toLowerCase方法用於將一個字符串全部轉為小寫,toUpperCase則是全部轉為大寫。它們都返回一個新字符串,不改變原字符串。

11. localeCompare()方法用於比較兩個字符串。它返回一個整數,如果小於0,表示第一個字符串小於第二個字符串;如果等於0,表示兩者相等;如果大於0,表示第一個字符串大於第二個字符串。

12. match()方法用於確定原字符串是否匹配某個子字符串,返回一個數組,成員為匹配的第一個字符串。如果沒有找到匹配,則返回null

13.  search() 方法的用法等同於match,但是返回值為匹配的第一個位置。如果沒有找到匹配,則返回-1

14. replace() 方法用於替換匹配的子字符串,一般情況下只替換第一個匹配(除非使用帶有g修飾符的正則表達式)。

15. split() 方法按照給定規則分割字符串,返回一個由分割出來的子字符串組成的數組。

ES6字符串的方法

1. 字符的 Unicode 表示法 

2. codePointAt() JavaScript 內部,字符以 UTF-16 的格式儲存,每個字符固定為2個字節。對於那些需要4個字節儲存的字符(Unicode 碼點大於0xFFFF的字符),JavaScript 會認為它們是兩個字符。

3. String.fromCodePoint() ES5 提供String.fromCharCode方法,用於從碼點返回對應字符,但是這個方法不能識別 32 位的 UTF-16 字符(Unicode 編號大於0xFFFF)。

4.  字符串的遍歷器接口 ES6 為字符串添加了遍歷器接口(Iterator),使得字符串可以被for...of循環遍歷。

5. at() ES5 對字符串對象提供charAt方法,返回字符串給定位置的字符。該方法不能識別碼點大於0xFFFF的字符。

6. normalize()  許多歐洲語言有語調符號和重音符號。為了表示它們,Unicode 提供了兩種方法。一種是直接提供帶重音符號的字符,比如Ǒ(\u01D1)。另一種是提供合成符號(combining character),即原字符與重音符號的合成,兩個字符合成一個字符,比如O(\u004F)和ˇ(\u030C)合成Ǒ(\u004F\u030C)。

7.  includes(), startsWith(), endsWith()

傳統上,JavaScript 只有indexOf方法,可以用來確定一個字符串是否包含在另一個字符串中。ES6 又提供了三種新方法。

  a). includes():返回布爾值,表示是否找到了參數字符串。

  b). startsWith():返回布爾值,表示參數字符串是否在原字符串的頭部。

  c). endsWith():返回布爾值,表示參數字符串是否在原字符串的尾部。

8. repeat() 方法返回一個新字符串,表示將原字符串重復n次。

9.  padStart(),padEnd() ES2017 引入了字符串補全長度的功能。如果某個字符串不夠指定長度,會在頭部或尾部補全。padStart()用於頭部補全,padEnd()用於尾部補全。

10. 模板字符串

11. 模板編譯

12. 標簽模板 模板字符串的功能,不僅僅是上面這些。它可以緊跟在一個函數名后面,該函數將被調用來處理這個模板字符串。這被稱為“標簽模板”功能(tagged template)。

13. String.raw()方法,往往用來充當模板字符串的處理函數,返回一個斜杠都被轉義(即斜杠前面再加一個斜杠)的字符串,對應於替換變量后的模板字符串。

14. 模板字符串的限制 前面提到標簽模板里面,可以內嵌其他語言。但是,模板字符串默認會將字符串轉義,導致無法嵌入其他語言。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM