這篇文章主要為大家展示了“如何利用正則表達(dá)式進(jìn)行代碼重構(gòu)以及去除冗余代碼”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何利用正則表達(dá)式進(jìn)行代碼重構(gòu)以及去除冗余代碼”這篇文章吧。
創(chuàng)新互聯(lián)是一家專業(yè)從事成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)的品牌網(wǎng)絡(luò)公司。如今是成都地區(qū)具影響力的網(wǎng)站設(shè)計(jì)公司,作為專業(yè)的成都網(wǎng)站建設(shè)公司,創(chuàng)新互聯(lián)依托強(qiáng)大的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
refact之前:大量的重復(fù)代碼
refact之后:用map消除了重復(fù)代碼。
現(xiàn)在的分支里每次執(zhí)行檢查都要先 var usRegx = /XXXX/. 實(shí)際上通過字面量定義了一個(gè)正則表達(dá)式對(duì)象,開銷比定義一個(gè)String大。其實(shí)沒必要每次都定義,可以把map定義在controller的一個(gè)全局屬性上。
執(zhí)行這段代碼就可看出字符串常量和正則表達(dá)式字面量的性能差異:
var N = 100000000; console.time("normal string"); for( var i = 0; i < N; i++){ var a = "a"; } console.timeEnd("normal string"); console.time("regular exp"); for( var i = 0; i < N; i++){ var b = /^[0-9]{5}$|^[0-9]{5}-[0-9]{4}$/; } console.timeEnd("regular exp");
以上是“如何利用正則表達(dá)式進(jìn)行代碼重構(gòu)以及去除冗余代碼”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!