三个方法都是用来从字符串中提取子字符串的,因为是提取,三个方法都不改变原字符串
slice
语法
str.slice(startIndex, [endIndex])
参数
startIndex
:从该索引开始endIndex
(可选):在该索引处结束提取字符串(不含),默认为字符串长度
返回值
返回提取出来的子字符串
substring
语法
str.substring(startIndex, [endIndex])
参数
startIndex
:从该索引开始endIndex
(可选):在该索引处结束提取字符串(不含),默认为字符串长度
返回值
返回提取出来的子字符串
substr
语法
str.substring(startIndex, [length])
参数
startIndex
:从该索引开始length
(可选):提取的字符数
区别
三者的主要区别在于面对0参数的处理上
slice
方法会将所有负值参数都使用负值+length
的方法进行处理substr
方法会将第一个负参数值使用负值+length
的方法进行处理,第二个负参数转为0substring
方法会将所有的负参数转为0