关于字符串的方法slice() substring() substr() 异同
参数区别
- slice(stat,end)正数【左闭右开】,负数【右闭左开】
例:
var str = "abcdefg"
str.slice(2,4)//cd
- substring(start,end)[左闭右开]
例:
var str = "abcdefg"
str.substring(2,4)//cd
- substr(start,length)
例:
var str = "abcdefg"
str.substr(2,4)//cdef
一个参数时
参数为正数
var str = "abcdefghi"
str.slice(3)//defghi
str.substring(3)//defghi
str.substr(3)//defghi
参数为负数
slice()会将负参数与字符串长度相加得到正数
substr()第一个参数会将负参数与字符串长度相加得到正数 第二个参数 转换为0
substring()会将负数转化为0
var str = "abcdefghi"
str.slice(-3)//ghi
str.substring(-3)//abcdefghi
str.substr(-3)//ghi
两个参数时
第一个参数为负数
var str = "abcdefghi"
str.slice(-6,7)//defg
str.substring(-6,7)//abcdefg
str.substr(-6,7)//defghi
第二个参数为负数时
var str = "abcdefghi" //length=8
str.slice(1,-4)//bcde ====str.slice(1,-4+8)
str.substring(1,-4)//a ===str.substring(1,0)会自动转化成str.substring(0,1)
str.substr(1,-4)//"" ===str.substr(1,0)
两个参数都为负数时
var str = "abcdefghi"
str.slice(-6,-2)//defg
str.substring(-6,-2)//""
str.substr(-6,-2)//""