简单分为获取类方法,获取类方法有charAt方法用来获取指定位置的字符,获取指定位置字符的unicode编码的charCodeAt方法, 与之相反的fromCharCode方法,通过传入的unicode返回字符串。查找类方法有indexof()、lastIndexOf()、search()、match() 方法。截取类的方法有substring、slice、substr三个方法,其他的还有replace、split、toLowerCase、toUpperCase方法。

js字符串截取方法有substring、slice、substr三个方法,substring和slice都是指定截取的首尾索引值,不同的是传递负值的时候 substring会当做0来处理,而slice传入负值的规则是-1指最后一个字符,substr方法则是第一个参数是开始截取的字符串,第二个是截取的字符数量, 和slice类似,传入负值也是从尾部算起的。

补充

补充:substring、slice、substr 的对比与典型坑:

  • slice(start, end) :start/end 均可为负数(从尾部倒数)。end 缺省时取到末尾。参数顺序灵活,不会自动调换 start/end。
  • substring(start, end) :参数不能为负数(负数视作 0)。会自动把较小的值作为 start(即 substring(3, 1) 等价 substring(1, 3)),这个行为常引发 bug。
  • substr(start, length) :已被废弃,start 可负,length 表示截取字符数;不推荐新代码使用,请改用 slice。
const s = 'Hello World'
s.slice(0, 5)        // 'Hello'
s.slice(-5)          // 'World'
s.substring(0, 5)    // 'Hello'
s.substring(-5)      // 'Hello World'(负数视作 0)
s.substr(0, 5)       // 'Hello'(不推荐)

来源整理自:vue3js.cn 面试官系列