字符串的slice、substr、substring方法的異同

相同點:

  • 都不會改變原始字符串
  • 第一個參數都是指定字符串的開始位置
  • 第二個參數不傳則將字符串的尾部做爲結束位置

不一樣點

  • slice(startIndex,endIndex) 第一個參數指定字符串的開始位置,第二個參數指定字符串的結束位置
  • substring(index0,index1)會將小的參數做爲開始位置,大的做爲結束位置
  • substr(startIndex, num),第一個參數指定字符串的開始位置,第二個參數要返回的字符個數
  • slice參數爲負值時,會將負值與字符串的長度相加獲得開始和結束位置
  • substring參數爲負值時,會將全部的負值參數轉換成0
  • substr方法將負的第一個參數加上字符串的長度獲得開始位置,將負的第二個參數轉換爲0
  • tip 包前不包後

見例子:

var str = 'hello world';
console.log(str.slice(3)); // lo world
console.log(str.substring(3)); // lo world
console.log(str.substr(3)); // lo world
console.log(str.slice(3,7)) // lo w
console.log(str.substring(3,7)) // lo w
console.log(str.substr(3,7)) // lo worl
console.log(str.slice(-3)) // rld
console.log(str.substring(-3)) // hello world
console.log(str.substr(-3)) // rld
console.log(str.slice(3, -4)) // lo w
console.log(str.substring(3,-4)) // hel  等同於 str.substring(3,0)); str.substring(0,3))
console.log(str.substr(3, -4)) // ''爲空字符
相關文章
相關標籤/搜索