JS String对象的方法总结(ES5 与 ES6) 一

ES5字符串方法

1. String.fromCharCode() 该方法的参数是一系列Unicode码点,返回对应的字符串。

2. charAt() 该方法返回指定位置的字符,参数是从0开始编号的位置。

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. 模板字符串的限制 前面提到标签模板里面,可以内嵌其他语言。但是,模板字符串默认会将字符串转义,导致无法嵌入其他语言。

 

posted @ 2018-01-09 16:45  Z-DL  阅读(2609)  评论(0编辑  收藏  举报