Home > Web Front-end > JS Tutorial > Explanation of the differences between substr, substring, slice.splice in javascript_Basic knowledge

Explanation of the differences between substr, substring, slice.splice in javascript_Basic knowledge

WBOY
Release: 2016-05-16 18:15:17
Original
977 people have browsed it

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符.

stringObject.substr(start,length);start必须,length可选.

start 是截取的开始位置的下标,从0开始算起,必须是数字.可以是负数,-1是倒数第一个字符,-2是倒数第二个字符,以此类推.

length 是要截取的字符的长度,必须是数字.如果未指定,则从start位置处开始截取到字符串结尾.

substr 指定的是字符串的开始下标跟截取长度,所以可以替代substring跟slice使用.

重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

stringObject.substring(start,end);start必须,end可选.

start 是截取的开始位置的下标,从0开始算起,必须是非负数字.(w3c说必须是非负整数,试验了下,不是整数也可以.)

end 必须是数字.如果未指定,则从start位置处开始截取到字符串结尾.

注意事项:substring截取的字符不包括end处的字符.所以截取的长度为end-start.

               start=end的话,返回空字符串,长度为0.

重要事项:substring不接收负的参数,slice和substr可以.

slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

stringObject.slice(start,end);start必须,end可选.

start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

splice() 方法用于插入、删除或替换数组的元素。

arrayObject.splice(index,howmany,element1,.....,elementX)index,howmany必须,其他可选.

index 规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。

 

howmany 规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。

element1 规定要添加到数组的新元素。从 index 所指的下标处开始插入。

elementx 可向数组添加若干元素。

注释:请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。

所有提示:某些情况下,负数的参数不识别.所以尽量不要用负数作参数.免得浏览器不兼容,造成程序的出错.


 

这是JavaScript 权威指南上的说明,象我这种E文很烂的就能勉强看懂一下,并没有对着翻译,只是按照理解说明了下。


string.substring(from, to)

Arguments

from

A nonnegative integer that specifies the position within string of the first character of the desired substring.

       指定想要得到字符串的开始位置,即索引(非负整数)

to

A nonnegative optional integer that is one greater than the position of the last character of the desired substring. If this argument is omitted, the returned substring runs to the end of the string.

       指定想要得到字符串的结束位置,不包括该位置的字符(非负整数,可选,没有指定则返回从指定开始位置到原字符串结束位置)




string.slice(start, end)

Arguments

start

The string index where the slice is to begin. If negative, this argument specifies a position measured from the end of the string. That is, -1 indicates the last character, -2 indicates the second from last character, and so on.

        指定想要得到字符串的开始的位置,即索引。

end

The string index immediately after the end of the slice. If not specified, the slice includes all characters from start to the end of the string. If this argument is negative, it specifies a position measured from the end of the string.

        指定想要得到字符串的结束位置,不包括该位置的字符(可选,没有指定则返回从指定开始位置到原字符串结束位置)


string.substr(start, length)

Arguments

start

The start position of the substring. If this argument is negative, it specifies a position measured from the end of the string: -1 specifies the last character, -2 specifies the second-to-last character, and so on.

        指定想要得到字符串的开始的位置,即索引。

length

The number of characters in the substring. If this argument is omitted, the returned substring includes all characters from the starting position to the end of the string.

Specify the length of the string you want to get, (optional, if not specified, it will return from the specified starting position to the end of the original string)




PS: These three methods all return a new string that intercepts a part of the original string. The second parameter is an optional parameter, and in fact, all parameters can be negative integers.

string.substring(from, to)
string.slice(start, end)

These two methods are similar. They both return a new string by specifying the start and end positions. When the parameters are all positive integers, the return results are the same. When the parameters are negative integers, string.substring(from, to) treats negative integers as 0, while string.slice(start, end) will add the negative integer to the length of the string deal with.

string.substr(start, length)

This method only specifies the length of the new string on the second parameter, for negative and positive numbers and string.slice(start, end) are processed in the same way, adding the negative integer to the length of the original string.
Example

Copy code The code is as follows:

var s = "abcdefg";

s.substring(1,4) // Returns "bcd"
s.slice(1,4) // Returns "bcd"
s.substr(1 ,4) // Returns "bcde"

s.substring(2,-3) // Returns "ab" is actually s.substring(0,2) with smaller parameters in front
s.slice(2,-3) // Returns "cd" is actually s.slice(2,4)
s.substr(2,-3) // Returns "cdef" is actually s. slice(2,4)
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template