substring substr slice 区别

时间:2024-01-19 21:31:38

1. substring(start,end)  返回指定索引区间的字串,不改变原字符串

start 必需,开始位置的索引,一个非负的整数

end  可选,结束位置的索引(不包括其本身),如果未设置,则直接取到字符串的结尾

举个栗子:

let str = 'my name is LQW';
console.log(str.substring(2,4));
console.log(str.substring(9));
console.log(str);
结果:
 n
s LQW
my name is LQW

2. substr(start,length)方法可在字符串中抽取从 start 下标开始的指定数目的字符,不改变原字符串

start 必需,开始位置的索引,必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

length 可选,要截取的长度,如果未设置,则直接取到字符串的结尾

举个栗子:

let str = 'my name is LQW';
console.log(str.substr(2,4));
console.log(str.substr(9));
console.log(str);
结果: 
 nam
s LQW
my name is LQW

3. slice(start,end)方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

start 必需,开始位置的索引,必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

end 可选,结束位置的索引(不包括其本身),如果未设置,则直接取到字符串的结尾

let str = 'my name is LQW';
console.log(str.slice(2,4));
console.log(str.slice(9));
console.log(str); 结果:
n
s LQW
my name is LQW

substring与slice区别:slice的start参数可以使用负数,而substring只能使用正数。

substr使用长度来截取字符串,其余两种都是根据索引来截取字符串。