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的話,返回Null 字元串,長度為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.
-
指定想要得到字串的長度,(可選,沒有指定則返回從指定開始位置到原字串結束位置)
PS:這三個方法均返回截取原字串的一部分新字串,第2個參數均為選擇性參數,並且其實所有的參數均可以為負整數。
string.substring(from, to)
string.slice(start, end)
這兩個方法差不多,都是指定開始和結束位置返回新字串,在參數均為正整數的時候返回結果一樣,當參數為負整數的時候,string.substring(from, to) 把負整數都當作0處理,而 string.slice(start, end) 將把負整數加上該字串的長度處理。
string.substr(start, length)
這個方法只在第二個參數上指定的是新字串的長度,對於負正數和string.slice(start, end)處理一樣,把負整數加上原字串的長度。
Example
複製代碼 代碼如下: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" 實際上是 s.substring(0,2) 較小的參數會在前面
s.slice(2,-3) // Returns "cd" 實際上是 s.slice(2,4)
s.substr(2,-3) // Returns "cdef" 實際上是 s.slice(2,4)