slice,substr和substring的区别

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

直接看下面例子:

 var test = ‘hello world‘;

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

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

如:

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

当接收的参数是负数时,

  • slice会将它字符串的长度与对应的负数相加,结果作为参数;
  • substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;
  • substring则干脆将负参数都直接转换为0。

测试代码如下:

 var test = ‘hello world‘;

 alert(test.slice(-3)); //rld
 alert(test.substring(-3)); //hello world
 alert(test.substr(-3)); //rld

 alert(test.slice(3,-4)); //lo w
 alert(test.substring(3,-4)); //hel
 alert(test.substr(3,-4)); //空字符串
时间: 2024-08-24 01:20:40

slice,substr和substring的区别的相关文章

Javascript中substr和substring的区别

由于在项目中有需要对字符串进行截取,然后手残使用了IDE自动提示的substr,没想那么多以为substr和substring没多大区别. 然而并不是,且听我一一道来. 1. substr(index, length) 从起始索引号提取字符串中指定数目的字符. substr方法可以传入两个参数 index和length.index是起始位,length是截取的长度. 当index是个非负整数时: a. 如果不传入参数,则得到的还是字符串本身. 如: "abcdefg".substr()

2015年3月5日(元宵节)——substr()与substring()的区别

做了一个跑马灯效果,body内是一个returnfalse的小练习.算是最最基础的入门了.祝大家节日快乐!代码如下: <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>祝大家元宵节快乐!</title> <script type="text/javascript"> function scrol

JS中substr与substring的区别

js中substr和substring都是截取字符串中子串,非常相近,可以有一个或两个参数. 语法:substr(start [,length]) 第一个字符的索引是0,start必选 length可选 substring(start [, end]) 第一个字符的索引是0,start必选 end可选 相同点:当有一个参数时,两者的功能是一样的,返回从start指定的位置直到字符串结束的子串 var str = "hello Tony"; str.substr(6);  //Tony

slice 、 substr 、substring的区别

参考文章:http://www.cnblogs.com/littledu/archive/2011/04/18/2019475.html 1.他们都接收两个参数,slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度. Part1 1 var test = 'hello world'; 2 3 alert(test.slice(4,7)); //o w 4 alert(test.substring(4,7)); //o

js之substr和substring的区别

今天有人在群里问这两个的区别,借这个机会在这罗列下 substring(from,to) 开始和结束的位置,从零开始的索引 参数     描述 from     必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置. to          可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾. substring 方法返回的子串包括 start 处的字符,但不包括

JS的substr与substring的区别

substr返回从指定位置开始的指定长度的子字符串str.substr(star[,length])  第二个参数可选,不选的话,截取到最后,如果length为0或者负数,那么返回的将是一个空字符串.star从0开始. substring返回的是指定位置的字符串str.substring(star,end)    star和end不一定谁大谁小,取的是两者之间的较小值作为截取字符串的起点.star和end都是从0开始算起.

js中String对象slice()方法跟subString()的区别

slice() 和 substring() ECMAScript 提供了两种方法从子串创建字符串值,即 slice() 和 substring().这两种方法返回的都是要处理的字符串的子串,都接受一个或两个参数.第一个参数是要获取的子串的起始位置,第二个参数(如果使用的话)是要获取子串终止前的位置(也就是说,获取终止位置处的字符不包括在返回的值内).如果省略第二个参数,终止位就默认为字符串的长度. 与 concat() 方法一样,slice() 和 substring() 方法都不改变 Stri

js substr与substring的区别

substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数     描述start     必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置.stop     可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾. 返回值 一个新的字符串,该字符串值包含 stringObje

js截取字符串substr和substring的区别

定义substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符.substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法substr()        stringObject.substr(start,length) start 必需.要抽取的子串的起始下标.必须是数值.如果是负数,那么该参数声明从字符串的尾部开始算起的位置.1 指字符串中最后一个字符,-2 指倒数第二个字符. length 可选.子串中的字符数.必须是数值.如果省略了该参数,那么返回