var p=/a/; p.compile('b'); p=/b/;//这样直接重新赋值不也可以吗?为何用compile?
编译之后的正则表达式执行速度将会提高,如果正则表达式多次被调用,那么调用compile方法可以有效的提高代码的执行速度,如果该正则表达式只能被使用一次,则不会有明显的效果。
我试了下,直接赋值,结果也是一样的。我认为使用compile应该就是性能上的考虑了。
http://www.w3school.com.cn/jsref/jsref_regexp_compile.asp