比較String.substring()、String.slice()、String.substr()的區別
阿新 • • 發佈:2018-11-06
String.substring()、String.slice()、String.substr()這三者都能從String字串中擷取一部分,那麼它們在使用上有什麼不同麼?
一、slice() 方法提取一個字串的一部分,並返回一新的字串。
語法:str.slice(start[, end]) slice() 提取從 start 到 end(不包括)之間的新字串。二、substring() 方法返回一個字串在開始索引到結束索引之間的一個子集, 或從開始索引直到字串的末尾的一個子集。
語法:str.substring(start[, end]) substring 提取從 start 到 end(不包括)之間的新字串。`substring` VS `slice` 相同:
- - 如果 start == end,return ""。
- - 如果省略 end,提取字元一直到字串末尾。
- - 如果任一引數大於 length,則被當作 length。
`substring` VS `slice` 不同:
substring
- - 如果 start > end,則 substring 的執行效果就像兩個引數調換了一樣。
- - 如果任一引數小於 0 或為 NaN,則被當作 0。
- - 如果 start > end,return ""。
- - 如果任一引數為 NaN,則被當作 0。
- - 如果任一引數為於小 0,則被當作((length - 該引數) > 0 ? (length - 該引數) : 0)。
三、substr() 方法返回一個字串中從指定位置開始到指定字元數的字元。
語法: str.substr(start[, length]) substr 從 start 位置開始提取字元,提取 length 個字元(或直到字串的末尾)。- 如果 start >= length,return ""。
- 如果 start < 0,則被當作((length - 該引數) > 0 ? (length - 該引數) : 0)。
- 如果 length <= 0,return ""。
- 如果忽略 length,則 substr 提取字元,直到字串末尾。