slice,substring,substr,三者的区别:
都接受两个参数,
var str = ‘12345678’
- slice(a,b) 表示从第a位开始截取,到第b位结束,但不包括第b位;
- substring 和slice作用相同
- substr(a,b) 表示从第a位开始截取,截取长度为b;
三种方法的返回值都为: 截取的新字符串,不影响原字符串
slice 和substring的区别就在于,当参数传入负数时,两个方法的执行结果不同:
- slice会将传入的负值与字符串的长度相加,如str.slice(-1,-2) 则被理解为slice(7,6),如果当第一个值大于第二个值时,返回值为空字符串;
- substring 会把所有的负数转化为 0
substr传入负数时:会将第一个位置的负值参数加上字符串长度后转为正数,而第二个位置的负值将转化为0