js字符串截取函数slice()、sunstring()、substr()
slice(start,[end])
第一个参数代表开始位置,第二个参数代表结束位置的下一个位置
截取出来的字符串的长度为第二个参数与第一个参数之间的差,若参数值为负数,则将该值加上字符串长度后转为正值;若第一个参数等于大于第二个参数,则返回空字符串。
作用于字符串和数组都行。
var arr = ['a','b','c','d']; var a = arr.slice(-3); ------等同于arr.slice(1); // console.log(a); ------- ["b", "c", "d"]
var arr = ['a','b','c','d']; var a = arr.slice(3); console.log(a); ------// ["d"]
var arr = ['a','b','c','d']; var a = arr.slice(1,3); console.log(a); -------------//["b","c"]
2,substring(start,[end])
第一个参数代表开始位置,第二个参数代表结束位置的下一个位置
若参数为负数,则将该值转为0,两个参数中,取较小值作为开始位置,截取出来的字符串的长度为较大值与较小值之间的差。
作用于字符串。数组不行。
var arr = 'abcdefg'; var a = arr.substring(-2); ----------------等价于arr.substring(0)------------------------------ console.log(a); //---'abcdefg'
var arr = 'abcdefg'; var a = arr.substring(5,7); console.log(a); //---fg
var arr = 'abcdefg'; var a = arr.substring(2,-2); console.log(a); //ab ------------------------------------------------ arr.substring(2,-2) --实际上是arr.substring(0,2) 负数装换为0,substring总是把较小的数作为起始位置
3,substr(str,length)
第一个参数代表开始位置,第二个参数代表截取的长度
作用于字符串。数组不行。
var arr = 'abcdefg'; var a = arr.substr(2,3); console.log(a); // cde
var arr = 'abcdefg'; var a = arr.substr(2); console.log(a); //cdefg
var arr = 'abcdefg'; var a = arr.substr(-1); var b = arr.substr(-2); console.log(a); // g console.log(b); // fg