1、substr(start,length)

索引从1开始 (从0 开始和从1开始结果一样)

start:开始位置, length:长度

start参数:必需。要获取的子串的起始下标,必须是数值,如果是负数,那么该参数声明从字符串的尾部开始算起的位置,-1倒数第一个字符,-2倒数第二个字符,以此类推。

length参数:可选。子串中的字符数,必须是数值,可省略。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

var x=y="0123456789";

x.substr(2,5);//返回的23456
y.substring(2,5);//返回234
//由此得出第一个参数开始截取的位置,substr很明显第二个参数是截取的长度;
//而substring第二个参数是截取的结束位置(不包含结束位置上的字符串)
//上次探索的数组中原数组可能发生变化,我们使用上一次试一下
console.log(x,y);//发现x和y均未发生变化,因此在字符串操作不存在原字符串对改变的情况
x.substr(-4);//返回6789;
y.substring(-4);//返回0123456789

 

2、substring(start,stop)

索引从0开始

start参数: 必需。一个非负的整数,要获取的子串的起始下标,值必须是整数。

stop参数: 可选。一个非负的整数,要获取的子串的终止下标,值必须是整数,不可为负数;可省略,如果省略该参数,那么返回的子串会一直到字符串的结尾。

其中的(start,stop)是“左闭右开”的了[start,stop)。

 

总结:substr()方法是从指定位置的字符开始,返回指定长度的字符数;substr()方法的第二个参数接受负数。substring()方法是从指定位置的字符开始,指定位置的字符结束,返回指定位置间的字符;substring()方法的第二个参数不接受负数。

 

posted on 2020-04-11 16:27  脆皮软心  阅读(1847)  评论(0编辑  收藏  举报