var Str='123456789'
// ---------------------slice()--------------------------------------
// 传一个参数 从第几位开始截取 传0 返回整个字符串
console.log(Str.slice(3),Str) //结果456789
// 传两个参数 从第几位截取至第几位
console.log(Str.slice(1,3),Str) //结果23
// ---------------------substring()--------------------------------------
var Str1='123456789'
// 传一个参数 从第几位开始截取 传0 返回整个字符串
console.log(Str1.substring(3),Str1) //结果456789
// 传两个参数 从第几位截取至第几位
console.log(Str1.substring(1,3),Str1) //结果23
// ---------------------substr()--------------------------------------
var Str2='123456789'
// 传一个参数 从第几位开始截取 传0 返回整个字符串
console.log(Str2.substr(3),Str2) //结果456789
// 传两个参数 从第几位截取至第几位
console.log(Str2.substr(1,3),Str2) //结果234
substring
substring()
方法返回的子串包括 start
处的字符,但不包括 stop
处的字符。
如果参数 start
与 stop
相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)
如果 start
比 stop
大,那么该方法在提取子串之前会先交换这两个参数。
如果 start
和 stop
有负数,那么会把该参数自动转为0
,然后继续上述规则。
如果 start
和 stop
有正小数(负数直接进行第4条),那么会把该参数向下取整,然后继续上述规则。
如果 start
和 stop
有字符串,那么会先进行parseInt()
,如果转换结果为NaN
,那么就转换为0
,其余情况继续上述规则。
substr
该方法与substring()
最大的区别在于第二个参数是你需要截取字符串的长度,而不是位置。
slice
该方法的两个参数均为位置坐标,和subtring
比较像,区别就是该方法支持负数,并且不会交换位置,始终是从start
到end
,如果该区间不存在,那么返回''
。