本篇內(nèi)容介紹了“js自動(dòng)補(bǔ)位擴(kuò)展padLeft、padRight的方法”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括雙遼網(wǎng)站建設(shè)、雙遼網(wǎng)站制作、雙遼網(wǎng)頁(yè)制作以及雙遼網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,雙遼網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到雙遼省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
JS是JavaScript的簡(jiǎn)稱,它是一種直譯式的腳本語(yǔ)言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,主要用于web的開(kāi)發(fā),可以給網(wǎng)站添加各種各樣的動(dòng)態(tài)效果,讓網(wǎng)頁(yè)更加美觀。
方法一、自定義函數(shù)實(shí)現(xiàn),不方便自定義調(diào)用
function FillZero(p) { return new Array(3 - (p + '').length + 1).join('0') + p; } FillZero(6); //輸出006
方法二、String方法一擴(kuò)展(C#中PadLeft、PadRight)
String.prototype.PadLeft = function (len, charStr) { var s = this + ''; return new Array(len - s.length + 1).join(charStr || '') + s; } String.prototype.PadRight = function (len, charStr) { var s = this + ''; return s + new Array(len - s.length + 1).join(charStr || ''); } var p = 6; p.toString().PadLeft(3, '0'); //輸出006 p.toString().PadRight(3, '0'); //輸出600
方法三、原理同方法二
代碼四、
String.prototype.padLeft = function (padChar, width) { var ret = this; while (ret.length < width) { if (ret.length + padChar.length < width) { ret = padChar + ret; } else { ret = padChar.substring(0, width - ret.length) + ret; } } return ret; }; String.prototype.padRight = function (padChar, width) { var ret = this; while (ret.length < width) { if (ret.length + padChar.length < width) { ret += padChar; } else { ret += padChar.substring(0, width - ret.length); } } return ret; };
下面是其他網(wǎng)友的補(bǔ)充
javascript-leftpad方法
原由是微博上出的一則leftpad方法被吐槽的事。
原方法是通過(guò)循環(huán)挨個(gè)拼接字符串的方式,所以效率差了點(diǎn)(會(huì)產(chǎn)生N多string對(duì)象,導(dǎo)致對(duì)象回收慢)
類似
for(i=0;i
str=pad+str;
}
改進(jìn)如下:
//cache var padding1="00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; var padding2=" "; function leftpad(str,length,useSpace){ var padding = padding1; if(useSpace){ padding = padding2; } var cnt = length-str.length; if(cnt<=0) return str; if(cnt<=200) return padding.substring(0,cnt)+str; str=padding+str; return leftpad(str,length,ch); }
思路:
1.減少string對(duì)象的生成,所以盡量減少字符串拼接的次數(shù)
2.降低時(shí)間復(fù)雜度
“js自動(dòng)補(bǔ)位擴(kuò)展padLeft、padRight的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!