javascript,子字符串操作方法:Slice()、Substr()、Substring()的區別


一、參數含義上的區別。

  第一個參數 第二個參數(可選)
slice() 開始位置 需要返回的子字符串最后一個字符后面的位置
substr() 開始位置 需要返回的字符個數
substring() 開始位置 需要返回的子字符串最后一個字符后面的位置

 

 

 

 

 

 

例如:

var strValue = "javascript programing"; alert(strValue.slice(3));           //"ascript programing"
alert(strValue.substring(3));       //"ascript programing"
alert(strValue.substr(3));          //"ascript programing"
alert(strValue.slice(3,13));        //"ascript pr"
alert(strValue.substring(3,13));    //"ascript pr"
alert(strValue.substr(3,13));       //"ascript progr"

 

二、處理負值參數時的區別。

參數的含義不變,只不過參數為負值時,3個子字符串函數會對負值參數進行不同的處理。

  第一個參數 第二個參數(可選) 備注
Slice() 將負值與字符串的長度相加 將負值與字符串的長度相加  
Substr() 將負值與字符串的長度相加 將負值變為0  
substring() 將負值變為0 將負值變為0

負值處理后,該函數會將較

小的數作為開始位置,較大

的數作為結束位置

 

 

 

 

 

 

 

例如: 

var strValue = "javascript programing";
alert(strValue.slice(-3));        => alert(strValue.slice(18));       //"ing"
alert(strValue.substring(-3)); => alert(strValue.substring(0)); //"javascript programing"
alert(strValue.substr(-3)); => alert(strValue.substr(18)); //"ing"
alert(strValue.slice(3,-13)); => alert(strValue.slice(3,8)); //"ascri"
alert(strValue.substring(3,-13)); => alert(strValue.substring(0,3)); //"jav"
alert(strValue.substr(3,-13)); =>
alert(strValue.substr(3,0)); //""

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM