substr

  • 用法:string.substr(start, ?length)
  • 描述:从指定起始位置截取指定长度字符串,返回新字符串
    其中,start可负,-n表示倒数第n个字符的位置。
    length可省略,若省略length,默认截取到字符串末尾。

提示: substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
在 IE 4 中,参数 start 的值无效。在这个 BUG 中,start 规定的是第 0 个字符的位置。在之后的版本中,此 BUG 已被修正。
ECMAscript 没有对该方法进行标准化,因此反对使用它。

注意: substr() 方法不会改变源字符串

——摘自菜鸟教程

substring

  • 用法:string.substr(start, ?end)
  • 描述:截取指定区间的字符串,返回新字符串
    返回的字符串包括start,但不包含end(左闭又开区间)。
    length可省略,若省略length,默认截取到字符串末尾。

start < 0时,从字符串开头开始截取
end > string.length时,截取到末尾
start >= end时,返回空串

slice

  • 用法:string.substr(?start, ?end)
  • 描述:截取指定区间的字符串,返回新字符串
    其中,start, end均可负,-n表示倒数第n个字符的位置。
    start, length可省略,若省略length,自动截取到字符串末尾。
    若两个参数均省略,返回本字符串。

slice也可以用于截取数组,用法同上。

注意

以上三个函数均不改变原有字符串。