字符串 | slice substr substring的区别

三个方法都是用来从字符串中提取子字符串的,因为是提取,三个方法都不改变原字符串

slice

语法

1
str.slice(startIndex, [endIndex])

参数

  • startIndex:从该索引开始
  • endIndex(可选):在该索引处结束提取字符串(不含),默认为字符串长度

返回值

返回提取出来的子字符串

substring

语法

1
str.substring(startIndex, [endIndex])

参数

  • startIndex:从该索引开始
  • endIndex(可选):在该索引处结束提取字符串(不含),默认为字符串长度

返回值

返回提取出来的子字符串

substr

语法

1
str.substr(startIndex, [length])

参数

  • startIndex:从该索引开始
  • length(可选):提取的字符数

返回值
返回提取出来的子字符串

区别

三者的主要区别在于面对0参数的处理上

  • slice方法会将所有负值参数都使用负值+length的方法进行处理
  • substr方法会将第一个负参数值使用负值+length的方法进行处理,第二个负参数转为0
  • substring方法会将所有的负参数转为0