字符串方法slice. substr substring的几种区别

字符串方法slice. substr substring的几种区别

  1. 所有的方法都有两个参数,slice和substring两个参数表示的是起始位置和结束位置(不包含结束位置),substr接受的是起始位置和要返回的字符串长度

Eg:var strings = ‘wqertyui34567’;
console.log(strings.slice(1,4)) //qer
console.log(strings.substring(1,4)) //qer
console.log(strings.substr(1,4)) //qert

注意:当参数都为正数时,slice和substring的结果是一样的,有一点区别就是substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。但是slice的第一个参数位置大于第二个参数位置时则为空 

即var str =‘12345’;
str.substring(4,1)就像相当于str.substring(1,4),

2. 当传参数为负值时:

  1. slice当有两个参数时,只能第二个参数为负值,否则无效。负值处理:把负值会将它字符串的长度与对应的负数相加,结果作为参数

eg:var str = ‘12345678’;
str.slice(-2) // 78
str.slice(3,-2) // 456

  1. substring,会将参数负值直接转换成0

eg:var str = ‘12345678’;
str.substring(-2) // 12345678
str.substring(3,-2) // 123
str.substring(-2,3) // 123

  1. substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;第二个参数不能为负值

eg:var str = ‘12345678’;
str.substr(-2) // “78”
str.substr(3,-2) // ‘’
str.substr(-4,3) // 567

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值