2011-10-29 113 views
2

一个jQuery的核心风格指南的指示:jQuery代码风格指南

所有的RegExp操作应该做的使用。测试()和.exec()。 “字符串” .match()不再使用。

match()为什么不受青睐?

+0

你要求的具体原因jQuery的已经不使用它,或一般,为什么其他的方法可能是首选? –

+0

@FelixKling:两个! – Randomblue

回答

3

因为.exec简直是一个更好的版本的.match

让我们来看看

var ret1 = string.match(regexp); 
var ret2 = regexp.exec(string); 

如果正则表达式是一个非全局正则表达式,则返回值是相同的。

然而,如果正则表达式是一个全球性的正则表达式(/foo/g),那么只匹配返回匹配的数组,就是这样。没有额外的元数据像exec会返回!

+0

我也这么想。但是即使需要在每一个情况下,没有其它的数据,追求一致性(即,仅使用'exec')可能是另一个原因。 –