一個利用正規表示式進行程式碼重構,去除冗餘程式碼的例子

i042416發表於2020-03-09

refact之前:大量的重複程式碼

一個利用正規表示式進行程式碼重構,去除冗餘程式碼的例子

refact之後:用map消除了重複程式碼。

一個利用正規表示式進行程式碼重構,去除冗餘程式碼的例子

現在的分支裡每次執行檢查都要先 var usRegx = /XXXX/. 實際上通過字面量定義了一個正規表示式物件,開銷比定義一個String大。其實沒必要每次都定義,可以把map定義在controller的一個全域性屬性上。

執行這段程式碼就可看出字串常量和正規表示式字面量的效能差異:

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");

一個利用正規表示式進行程式碼重構,去除冗餘程式碼的例子


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2679098/,如需轉載,請註明出處,否則將追究法律責任。

相關文章