分享

一个利用正则表达式进行代码重构,去除冗余代码的例子

 汪子熙 2020-03-01

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

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多