slice,substr和substring的区别

1. 相同点

他们都接收两个参数 , 第二个参数都是可选的, 如果忽略, 返回从 第一个参数 的开始位置到字符串的结尾

slice substring 接收的是 起始位置结束位置(不包括结束位置),

substr 接收的则是 起始位置所要返回的字符串长度

 

var str = 'helloworld';
 
alert(str.slice(4,7));             //owo 
alert(str.substring(4,7));         //owo
alert(str.substr(4,7));            //oworld

 

2. 不同点

    1)  substring() 的两个参数要求是非负整数,  另外它是以两个参数中较小一个作为起始位置,较大的参数作为结束位置

alert(str.substring(7,4));          //owo

       若果一个参数是负数, 他会默认这个参数为 0 

alert(str.substring(-5,4));          //hell

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

alert(str.substr(-1));          //d
alert(str.substr(-2,1));        //l

    3)   slice() 上面的两个方法只能截取字符串,  slice()可以截取数组和字符串

         slice() 和 substring() 的区别, slice() 不会以较小的参数作为初始位置, 而是默认第一个参数作为初始位置

alert(str.slice(7,4));        //"" ,空字符
alert(str.slice(7));          //rld

         slice() 两个参数可以为负数, 都是表示从末尾开始算起的位置

alert(str.slice(-1));            //d
alert(str.slice(-2,-1));         //l
alert(str.slice(-2,-2));         //""

          slice() 可以截取数组,  用法和上面一样

[1,2,3,4].slice(-2,-1)  // [3]
[1,2,3,4].slice(1,-1)  // [2,3]
[1,2,3,4].slice(1)  // [2,3,4]

 

3 . 总结

 slice,substr和substring都可以截取字符串(slice字符串和数组),

 slice,和substring 第二个参数是结束位置, substr第二个参数是截取长度

 具体的细节,见1,2 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懂懂kkw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值