Slice,substring,substr的仨事

首先這三個函數(shù)的出現(xiàn)而來的目的就是為了獲取字符串的字符。
相同點(diǎn)就是都有有兩個參數(shù)

slice(BeginSlice, EndSlice);
substring(indexStart, indexEnd);
substr(index, length);

讓它們發(fā)生更本變化的就是傳入的那兩個參數(shù)。通過how to use them去對比發(fā)現(xiàn)的。
一開始自己肯定要先明白每一個概念的含義以及使用方法,如果看了就繼續(xù)往下一個函數(shù)看,收獲我想也不大。
看看相同點(diǎn)

//如果開始索引與結(jié)束索引一樣會返回""
var str = 'Mozilla';    
str.slice(1,1);//""
str.substring(1,1);//這兩個函數(shù)返回的結(jié)果是 ""

//如果結(jié)束索引被忽略了,那么獲取字符串將進(jìn)行到字符串的結(jié)尾
str.slice(0);
str.substring(0);

//截取字符串不包括結(jié)束索引的值
str.slice(0,2);//'Mo' 沒有取到'z'的值
str.substring(0,2);//'Mo'

substring的不同

//substring如果參數(shù)小于0或者是NaN,當(dāng)作0來處理,可以試試看
str.substring(-1,2);//'Mo'
str.substring(NaN,2);//'Mo'
str.substring(0,2);//'Mo'
 
//如果indexStart > indexEnd,那么兩者會交換位置
str.substring(10,2) == str.substring(2,10);//true

slice的不同

//如果beginSlice索引為負(fù)數(shù),那么會被處理為str.length + beginSlice
str.slice(-2,-1);//等一下行代碼
str.slice(str.length-2, str.length-1);

//如果begin > end,不管是正數(shù)還是負(fù)數(shù)都返回為""
str.slice(5,2);//""
str.slice(-2,-5);//""

substr

  //第一Index為負(fù)數(shù)時,處理為str.length + Index
  str.substr(-4,5);
  str.length(str.length-4,5);

  //第一個索引為NaN時當(dāng)作零來處理
  str.substr(NaN,5) == str.substr(0,5);

  //當(dāng)?shù)诙€參數(shù)為負(fù)數(shù)或者NaN或者零時,返回""
  str.substr(2,0);//""
  str.substr(2,NaN);//""
  str.substr(2,-1);//""

真的好難寫一篇技術(shù)文章呀,我的天吶沒掌握全不敢寫出來呀。真的一點(diǎn)邏輯也沒有感覺

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容