在字符串中slice()、substring()、substr()各自的用法

slice(start,end)

start:为截取字符串的起点位置,参数可以为负数,但是用法为:-1指最后一个字符,-2指倒数第二个字符,以此类推
end:为结束位置,返回的是start到end-1之间的字符(不包括end位置的字符

若只有一个参数,则返回从那个参数开始到字符串最后的所有字符

如下例所示:

var value = "I Love You China";
alert(value.slice(3)); // "ove You China"  返回从位置3开始到字符串结尾的所有字符
alert(value.slice(-3)); // "ina" 返回从-3开始到字符串结尾的所有字符,也可理解为:字符串长度16+(-3)=13,这个13就是起点位置,返回从13开始到字符串结尾的所有字符
alert(value.slice(3,-4)); // "ove You C" 先将字符串长度16+(-4)=12,返回从3开始到12-1之间的所有字符

substring(start,end)

start:为截取字符串的起点位置
end: 为结束位置,返回从start到end-1之间的所有字符(不包括end位置的字符

若只有一个参数,则返回从那个参数开始到字符串最后的所有字符,不接受负数参数,会将所有的负数参数转为0

如下例所示:

var value = "I Love You China";
alert(value.substring(3)); // "ove You China"  返回从位置3开始到字符串结尾的所有字符
alert(value.substring(-3)); // "I Love You China"  先将-3转为0,返回从0位置开始到字符串结尾的所有字符
alert(value.substring(3,-4)); // "I L" 先将-4转为0,因0小于第一个参数,所以将0与3交换位置,返回从0位置开始到3-1之间的所有字符

substr(start,length)

start:为截取字符串的起点位置
length:为总共要截取的字符串长度

如下例所示:

var value = "I Love You China"; 
alert(value.substr(3)); // "ove You China"  返回从位置3开始到字符串结尾的所有字符
alert(value,substr(-3)); // "ina"  返回从-3开始到字符串结尾的所有字符,也可理解为:字符串长度16+(-3)=13,这个13就是起点位置,返回从13开始到字符串结尾的所有字符
alert(value,substr(3,-4)); // ""   先将-4转为0,由于第二个参数length截取字符串的长度为0,所以返回的是空字符串

总结:
1、当只有一个参数时,三种方法的用法一样
2、substring()参数不接受负数,会将所有的负数转为0
3、substr()参数可以为负数,但是当有两个参数时会将第二个负数参数转为0

最近在读《JavaScript高级程序设计》(第三版),读到第五章,将相关笔记整理了一下,大家若有不同看法,请多多指教!!!
就是这版,当当当当!!!!!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值