在说区别之前,先来说说slice,substring,substr三个方法的相同点:
1,都是截取字符串并返回一个新的字符串
2,都能接受一个(start)或两个参数(start,end)
3,只有一个参数时,默认字符串末尾作为结束位置:
下面我们分几种情况讨论三个方法的不同点:
先看我们被截取的字符串:
var str = '中华人民共和国万岁'
开始分情况讨论:
一,start为负数,end不传
说明:
1,slice与substr第一个参数为负数时,将从字符串反方向开始计数,末位记为-1,等同于str.slice(6),str.substr(6)
2,substring将负数转化为0,既str.substring(0)
二,start为负数,end为负数时