substr和substring的区别

一.定义

1.substr

substr(start,length)
String.substr(N1,N2) 这个就是我们常用的从指定的位置(N1)截取指定长度(N2)的字符串;

 alert("123456789".substr(2,5)) 
//34567

2.返回值:

一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。

重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。

2.substring

substring(start,end)
String.substring(N1,N2) 这个就有点特别了,它是先从N1,N2里找出一个较小的值,然后从字符串的开始位置算起,截取较小值位置和较大值位置之间的字符串,截取出来的字符串的长度为较大值与较小值之间的差。

注意:substring() 不接受负的参数

 alert("123456789".substring(2,5)) 
//345

3.substr ,substring, slice的实例

var test = 'hello world';
console.log(test.slice(1, 3));
//el
console.log(test.substring(1, 3));
//el
console.log(test.substr(1, 3));
//ell

注意:1.slice和substring接收的是起始位置和结束位置(不包括结束位置)
2.当接收的参数是负数时:
slice从最后一位开始数
substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;
substring则将负参数都直接转换为0。

var test = 'hello world';
console.log(test.slice(-2));
//ld
console.log(test.substring(-2));
//hello world
console.log(test.substr(-1, -3));
//
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容