1. 程式人生 > >js 中substr,substring,slice區別

js 中substr,substring,slice區別

一,作用

  它們都是基於原字串建立新字串的方法,通俗點就是用來擷取字串。

二,相同點

  都接收一到二個引數。

  當接收一個引數是,都表示擷取從當前下標,擷取字串,知道字串的最後一個字元。

var str = 'hello world';
console.log(str.slice(3),str.substr(3),str.substring(3)); //'lo world','lo world','lo world'

三,不同點

  1,當接收二個引數時,第一個引數都表示當前的下標,slice和substring的第二個引數表示擷取的結束下標,而substr表示的是需要擷取的字串的位數。

console.log(str.slice(3,5),str.substr(3,5),str.substring(3,5)); //'lo','lo wo','lo'

  2,當傳入的是負數時

    slice()會把當前的負值加上字串的長度。如slice(-3),相當於slice(8)。

    substring()會把所有的負值轉化為零。

    substr()第一個負值負值會把當前的負值加上字串的長度,第二個負值會轉化為零(擷取的個數不能為負)。