笔记:
- regular expression. regex
- 字符串连接通常通过一个循环
- str+="one"+"two"
过程:在内存中存储一个临时字符串,连接后的字符串onetwo被赋值给该字符串,临时字符串与str当前的值相连接,结果赋值给str - 赋值表达式由str开始作为基础。
- 数组项合并 Array.prototype.join
- String.prototype.concat
- 正则表达式的工作原理:编译,设置起始位置,匹配每个正则表达字元,匹配成功或者失败。
- 提高正则表达式效率的方法:关注如何使匹配更快失败,正则表达式以简单必须的字元开始,使用量词模式使得后面的字元互斥,减少分支数量缩小分支范围,使用非捕获组,只捕获感兴趣的文本以减少后处理,暴露必需的字元,使用合适的量词,把正则表达式赋值给变量并使用它们,化繁为简。
- 去除字符串首尾空白,trim
- 不使用正则:
- 混合使用方法:
小结:
- IE7前,数组项合并性能最合理
- IE后,数组项合并最慢,推荐使用+ ,+=避免不必要的中间字符串。
- 回溯是正则表达式匹配的基本组成部分,也是低效之源。
- 去除首尾空白,正则去头,另一个indexof尾巴向前搜素,结合。