js substr、substring和slice使用說明小記
更新時(shí)間:2011年09月15日 16:30:00 作者:
關(guān)于substr、substring和slice方法區(qū)別的文章,網(wǎng)上搜到了許多,文章內(nèi)容也基本一致。而后,我將其中一篇文章中的代碼挪到本地進(jìn)行了測(cè)試,發(fā)現(xiàn)測(cè)試結(jié)果和原文中的有些出入。
關(guān)于substr、substring和slice方法區(qū)別的文章,網(wǎng)上搜到了許多,文章內(nèi)容也基本一致。而后,我將其中一篇文章中的代碼挪到本地進(jìn)行了測(cè)試,發(fā)現(xiàn)測(cè)試結(jié)果和原文中的有些出入。
我更相信自己親自驗(yàn)證過后的代碼,隨后小記下來,供以后查閱。
substr
document.write("|" + str.substr(0,5) + "|" + "<br />");
document.write("|" + str.substr(0) + "|" + "<br />");
document.write("|" + str.substr(5,1) + "|" + "<br />");
document.write("|" + str.substr(-5,2) + "|" + "<br />");
document.write("|" + str.substr(-2,-5) + "|" + "<br />");
打印效果
|12345|
|123456|
|6|
IE: |12| Chrome: |23|
substring
document.write("|" + str.substring(0,5) + "|" + "<br />");
document.write("|" + str.substring(0) + "|" + "<br />");
document.write("|" + str.substring(5,1) + "|" + "<br />");
document.write("|" + str.substring(-5,2) + "|" + "<br />");
document.write("|" + str.substring(-2,-5) + "|" + "<br />");
document.write("|" + str.substring(2,-5) + "|" + "<br />");
打印效果
|12345|
|123456|
|2345|
|12|
|12|
slice
document.write("|" + str.slice(0,5) + "|" + "<br />");
document.write("|" + str.slice(0) + "|" + "<br />");
document.write("|" + str.slice(5,1) + "|" + "<br />");
document.write("|" + str.slice(-5,2) + "|" + "<br />");
document.write("|" + str.slice(-2,-5) + "|" + "<br />");
document.write("|" + str.slice(2,-5) + "|" + "<br />");
打印效果
|12345|
|123456|
|2|
||
如果你預(yù)想的結(jié)果和打印效果完全一致,那你的基本功一定不賴。如果多少有點(diǎn)猶豫或者結(jié)果出乎你的意料,那我的文章多少也有點(diǎn)用處了。
總結(jié)
substr
該方法的arg2和其它兩個(gè)方法的arg2壓根就代表不同意義,所以單獨(dú)揪出來。
當(dāng)arg1<0時(shí),不同瀏覽器的結(jié)果不同。IE 直接將arg1改成0, Chrome 下標(biāo)讀取方式由原來的從左往右讀改成從右往左讀
substring和slice
(1)arg2 > arg1,即參數(shù)2大于參數(shù)1時(shí)
substring:自動(dòng)顛倒位置,數(shù)值大的在arg2位置上,數(shù)值小的在arg1位置上
slice:返回空字符串
(2)對(duì)負(fù)數(shù)的處理
substring:將數(shù)值為負(fù)數(shù)的參數(shù)轉(zhuǎn)換為0
slice:將數(shù)值為負(fù)數(shù)的參數(shù)轉(zhuǎn)換為(字符串長(zhǎng)度-參數(shù)數(shù)值)
我更相信自己親自驗(yàn)證過后的代碼,隨后小記下來,供以后查閱。
substr
復(fù)制代碼 代碼如下:
document.write("|" + str.substr(0,5) + "|" + "<br />");
document.write("|" + str.substr(0) + "|" + "<br />");
document.write("|" + str.substr(5,1) + "|" + "<br />");
document.write("|" + str.substr(-5,2) + "|" + "<br />");
document.write("|" + str.substr(-2,-5) + "|" + "<br />");
打印效果
|12345|
|123456|
|6|
IE: |12| Chrome: |23|
substring
復(fù)制代碼 代碼如下:
document.write("|" + str.substring(0,5) + "|" + "<br />");
document.write("|" + str.substring(0) + "|" + "<br />");
document.write("|" + str.substring(5,1) + "|" + "<br />");
document.write("|" + str.substring(-5,2) + "|" + "<br />");
document.write("|" + str.substring(-2,-5) + "|" + "<br />");
document.write("|" + str.substring(2,-5) + "|" + "<br />");
打印效果
|12345|
|123456|
|2345|
|12|
|12|
slice
復(fù)制代碼 代碼如下:
document.write("|" + str.slice(0,5) + "|" + "<br />");
document.write("|" + str.slice(0) + "|" + "<br />");
document.write("|" + str.slice(5,1) + "|" + "<br />");
document.write("|" + str.slice(-5,2) + "|" + "<br />");
document.write("|" + str.slice(-2,-5) + "|" + "<br />");
document.write("|" + str.slice(2,-5) + "|" + "<br />");
打印效果
|12345|
|123456|
|2|
||
如果你預(yù)想的結(jié)果和打印效果完全一致,那你的基本功一定不賴。如果多少有點(diǎn)猶豫或者結(jié)果出乎你的意料,那我的文章多少也有點(diǎn)用處了。
總結(jié)
substr
該方法的arg2和其它兩個(gè)方法的arg2壓根就代表不同意義,所以單獨(dú)揪出來。
當(dāng)arg1<0時(shí),不同瀏覽器的結(jié)果不同。IE 直接將arg1改成0, Chrome 下標(biāo)讀取方式由原來的從左往右讀改成從右往左讀
substring和slice
(1)arg2 > arg1,即參數(shù)2大于參數(shù)1時(shí)
substring:自動(dòng)顛倒位置,數(shù)值大的在arg2位置上,數(shù)值小的在arg1位置上
slice:返回空字符串
(2)對(duì)負(fù)數(shù)的處理
substring:將數(shù)值為負(fù)數(shù)的參數(shù)轉(zhuǎn)換為0
slice:將數(shù)值為負(fù)數(shù)的參數(shù)轉(zhuǎn)換為(字符串長(zhǎng)度-參數(shù)數(shù)值)
您可能感興趣的文章:
- JavaScript數(shù)組的快速克隆(slice()函數(shù))和數(shù)組的排序、亂序和搜索(sort()函數(shù))
- js中slice()方法的使用說明
- javascript Array.prototype.slice使用說明
- js正則函數(shù)match、exec、test、search、replace、split使用介紹集合
- js split 的用法和定義 js split分割字符串成數(shù)組的實(shí)例代碼
- js split函數(shù)用法總結(jié)(從入門到精通)
- js中通過split函數(shù)分割字符串成數(shù)組小例子
- js字符串截取函數(shù)substr substring slice使用對(duì)比
- JavaScript截取字符串的Slice、Substring、Substr函數(shù)詳解和比較
- javascript中不易分清的slice,splice和split三個(gè)函數(shù)
相關(guān)文章
js實(shí)現(xiàn)上傳圖片之上傳前預(yù)覽圖片
此功能用js實(shí)現(xiàn),然后在fileupload控件的change事件中調(diào)用,這樣當(dāng)用fileupload選擇完圖片以后,圖片就會(huì)自動(dòng)顯示出來了,感興趣的各位可以參考下哈2013-03-03JS中type="button"和type="submit"的區(qū)別
Submit是專門用于提交表單的Button,與Button的區(qū)別主要有兩點(diǎn):type=button 就單純是按鈕功能,type=submit 是發(fā)送表單 。下面通過本文給大家分享JS中type="button"和type="submit"的區(qū)別,感興趣的的朋友一起看看吧2017-07-07JS實(shí)現(xiàn)Excel導(dǎo)出功能以及導(dǎo)出亂碼問題解決詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript如何調(diào)用后臺(tái)接口實(shí)現(xiàn)Excel導(dǎo)出功能以及導(dǎo)出亂碼問題的解決辦法,需要的小伙伴可以參考一下2023-07-07TypeScript高級(jí)用法的知識(shí)點(diǎn)匯總
這篇文章主要給大家介紹了關(guān)于TypeScript高級(jí)用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用TypeScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12移動(dòng)端點(diǎn)擊態(tài)處理的三種實(shí)現(xiàn)方式
在移動(dòng)端開發(fā)的時(shí)候,常常需要加點(diǎn)擊態(tài),就是當(dāng)用戶點(diǎn)擊某個(gè)URL時(shí),給相應(yīng)的標(biāo)簽添加按下效果樣式。這篇文章給大家分享了三種實(shí)現(xiàn)方法,包括偽類:active、webkit-tap-highlight-color和touch事件,下面來一起看看詳細(xì)的介紹吧。2017-01-01js 返回時(shí)間戳所對(duì)應(yīng)的具體時(shí)間
返回unix時(shí)間戳所對(duì)應(yīng)的具體時(shí)間的代碼2010-07-07JS實(shí)現(xiàn)在Repeater控件中創(chuàng)建可隱藏區(qū)域的代碼
在WEB應(yīng)用中,如何才能使應(yīng)用高效率呢?如何才能吸引用戶呢?這的確是個(gè)大學(xué)問,頁面的內(nèi)容,色搭配等都十分重要。但不可忽視的是,多數(shù)情況下,對(duì)于數(shù)據(jù)的呈現(xiàn)方式也是十分重要的。2010-09-09