2011-10-29 138 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')可能是另一個原因。 –