DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> JavaScript基礎知識 >> javascript中substr,substring,slice.splice的區別說明
javascript中substr,substring,slice.splice的區別說明
編輯:JavaScript基礎知識     

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.

        指定想要得到字符串的長度,(可選,沒有指定則返回從指定開始位置到原字符串結束位置)




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)

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved