slice、substring和substr

首先,他們都接收兩個參數,slice和substring接收的是起始位置和結束位置(不包括結束位置),而substr接收的則是起始位置和所要返回的字符串長度。直接看下面例子:html

1    var test = 'hello world';
2
3    alert(test.slice(4,7));             //o w
4     alert(test.substring(4,7));         //o w
5     alert(test.substr(4,7));            //o world測試

這裏有個須要注意的地方就是:substring是以兩個參數中較小一個做爲起始位置,較大的參數做爲結束位置。spa

如:code

alert(test.substring(7,4));          //o whtm

接着,當接收的參數是負數時,slice會將它字符串的長度與對應的負數相加,結果做爲參數;substr則僅僅是將第一個參數與字符串長度相加後的結果做爲第一個參數;substring則乾脆將負參數都直接轉換爲0。測試代碼以下blog

1    var test = 'hello world';
2
3    alert(test.slice(-3));         //rld
4    alert(test.substring(-3));     //hello world
5    alert(test.substr(-3));        //rld
6    alert(test.slice(3,-4));       //lo w
7    alert(test.substring(3,-4));   //hel
8    alert(test.substr(3,-4));      //空字符串

1 注意:IE對substr接收負值的處理有錯,它會返回原始字符串。字符串

參考:百度空間, 本文連接: http://caibaojian.com/slice-substring.htmlget

相關文章
相關標籤/搜索