谈谈字符串的slice、substr、substring的区别

先来看看下面一个例子,看看打印结果跟大家的猜想是不是一样的:

let str = 'abcdefghijklmnopqrstuvwxyz'
str.slice(1,5)//'bcde'
str.slice(5,1)//''
str.substr(1,5)//'bcdef'
str.substr(5,1)//'f'
str.substring(1,5)//'bcde'
str.substring(5,1)//'bcde'

看了上面的例子是不是觉得自己平时用这些方法,但是没有研究的这么详细,那么根据这个例子我们可以推出,
当我们知道我们截取的字符串长短时我们用substr,当我们知道字符串的开始截至位置时我们用slice,当我们不知道开始截止下标的大小哪个值大时,我们用substring

再来看看下面的例子:

let str = 'abcdefghijklmnopqrstuvwxyz'
str.slice(1)//'bcdefghijklmnopqrstuvwxyz'
str.substr(1)//'bcdefghijklmnopqrstuvwxyz'
str.substring(1)//'bcdefghijklmnopqrstuvwxyz'
str.slice(-1)//'z'
str.substr(-1)//'z'
str.substring(-1)//'abcdefghijklmnopqrstuvwxyz'
str.slice()//'abcdefghijklmnopqrstuvwxyz'
str.substr()//'abcdefghijklmnopqrstuvwxyz'
str.substring()//'abcdefghijklmnopqrstuvwxyz'

由这个例子我们可以得出只传一个参数的时候只有substring为一个负值的时候不一样,substring为负值当你没传

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容