slice,substr和substring的區別

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

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是以兩個參數中較小一個做爲起始位置,較大的參數做爲結束位置。html

如:java

 

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

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

 

複製代碼
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接收負值的處理有錯,它會返回原始字符串。

 

最後,沒了。spa

 

轉自:http://www.cnblogs.com/littledu/archive/2011/04/18/2019475.htmlcode

相關文章
相關標籤/搜索