我应该在这个函数中传递'new'来传递regexp吗?
这个问题在这里已经有了答案:
RegExp("foo")
和new RegExp("foo")
做同样的事情:
15.10.3作为函数调用的RegExp构造函数
15.10.3.1 RegExp(模式,标志)
如果pattern是[[Class]]内部属性为“RegExp”并且标记未定义的对象R,则返回R不变。 否则就像通过表达式new RegExp(pattern,flags)一样调用标准的内置RegExp构造函数(15.10.4.1),并返回由该构造函数构造的对象。
http://es5.github.io/#x15.10.3
简单来说, RegExp(/someRegex/)
返回该正则表达式,而RegExp("someString")
从字符串中创建新的正则表达式,就像new RegExp
一样。
上一篇: should I drop the 'new' in this function passing regexp?