slice,substr和substring的区别

转载地址:http://www.cnblogs.com/littledu/archive/2011/04/18/2019475.html


首先,他们都接收两个参数,slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度。直接看下面例子:

   
   
1 var test = ' hello world ' ; 2 3 alert(test.slice( 4 , 7 )); // o w 4   alert(test.substring( 4 , 7 )); // o w 5   alert(test.substr( 4 , 7 )); // o world

这里有个需要注意的地方就是:substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。

如:

alert(test.substring(7,4));          //o w

接着,当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0。测试代码如下:

复制代码
   
   
1 var test = ' hello world ' ; 2 3 alert(test.slice( - 3 )); //rld 4 alert(test.substring( - 3 )); //hello world 5 alert(test.substr( - 3 )); //rld
6 alert(test.slice( 3 , - 4 )); //lo w 7 alert(test.substring( 3 , - 4 )); //hel 8 alert(test.substr( 3 , - 4 )); //空字符串
复制代码

   
   
1 注意:IE对substr接收负值的处理有错,它会返回原始字符串。

最后,没了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值