字符串的substring和substr方法的区别

来源:互联网 发布:编程语言历史发展 编辑:程序博客网 时间:2024/06/05 07:19

substring和substr方法的区别


substring和substr是js中操作数组常用的方法,它们的作用同样都是对字符串进行相应的截取,并给予返回,这就发给便于开发者对于字符串的操作。

substring()方法

substring(start,end);方法中有两个值,第一个为起始位置的索引值另外一个是结束时的索引值,这两个值的在开闭上有所区别,start值在截取的时候是可以取到的也就是闭区间,end值是取不到的为开区间且两个值均不能为负值。
举例来说;

    var str = "abcdace";    console.log(str.substring(4,5));//结果为a

对于上面的代码为什么得到的结果是a呢,具体分析一下,当我们把字符产str当作一个数组来看的时候,索引值为4所对应的应该是第5个字母“a”,而第二个值是5也就是第六项值为“c”但是结束值是开区间并不能取到所以只能留下第4项a。

substr()方法

substr(start,length);方法他也有两个值,start为开始截取的索引值,length为截取的长度,第一个值可以为负值代表从最后一项起的倒数第几个元素,例如-1,他开始的地方为倒数第一个值,长度不能为负。

   var str = "abcdace";   console.log(str.substr(4,3));//这里的结果是ace

如果start值为负那么举例来讲:

var str = "abcdace";console.log(str.substr(-2,2));//结果为ce

这两种方法比较常用也比较容易混淆,所以用的时候一定注意分辨。