substring
slice,调用方式如下
复制代码
代码如下:
stringObject.slice(start,end)
stringObject.substr(start,length)
stringObject.substring(start,end)
最明显的是substr,第二个参数是length,是截取长度,其他两个函数的第二个参数都是末尾字符的下标(这里并不包括该下标的字符,只截取到该字符的前一个字符)
slice跟substring比,slice下标可以是负数,比如-1表示最后一个字符,而substring不能。substring如果
start
比end
大,那么在提取子串之前会先交换这两个参数,而slice不会,slice会返回空字符串
例子:
复制代码
代码如下:
var
str="Helloworld"
console.log(str.substr(0,
2))
console.log(str.substring(2,
0))
console.log(str.substring(0,
2))
console.log(str.slice(0,
-1))
console.log(str.slice(-1,
0))
输出:
He
He
He
Helloworl
(空字符串)
最主要的区别是:slice支持负数的下标(代表从字符串结尾开始算位置),substring不支持substring() 方法用于提取字符串中介于两个指定下标之间的字符。主要用于字符串截取
stringObject.substring(start,stop)
start:必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
end:可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。
如果省略该参数,那么返回的子串会一直到字符串的结尾。
例如:"abcdefg".substring(3,5)返回de,字符串的第3个字符是d(从0开始,即a是第0个字符),截取到第5个字符前(不包括第5个)
与 slice()方法不同的是,substring() 不接受负的参数。
slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
stringObject.slice(start,end)
start:要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end:紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
slice() 比 substring() 要灵活一些,因为它允许使用负数作为参数。