我在讀Douglas Crockfords Javascript: The Good Parts,我剛剛完成了正則表達式章節。在這一章中,他呼籲JavaScript的\b
,積極先行(?=)
和負前瞻(?!)
「不是一個好部分」JavaScript:好的部分;爲什麼前瞻不好?
他解釋了\b
是不好的原因(它使用\w
的字邊界的發現,並\w
失敗對於任何使用unicode字符的語言),這對我來說是一個很好的理由。
不幸的是,積極和消極的前瞻不好的原因被遺漏了,我不能拿出一個。 Mastering Regular Expressions向我展示了隨着前瞻而來的力量(當然也解釋了它帶來的問題),但我無法真正想到任何能夠使它成爲「不是很好的部分」的事情。
任何人都可以解釋爲什麼JavaScript(正向|負向)向前或(正向|負向)總體上應該被視爲「不好」?
當我讀到那句話的時候,我用它搜索了一下,並提出了這個問題。很奇怪 - 他所說的一切都非常有道理,而且他幾乎總是解釋他說事情「不好」的原因。 – Skilldrick 2010-05-21 13:59:55
我同意@Skilldrick。克羅克福德一直很善於解釋他在本書中幾乎所有觀點的推理,但在這種情況下,他根本沒有解釋任何事情。我找到沒有解釋後也搜索了一下,最終在這裏結束。在我看來,只要你瞭解他們是如何工作的,以及如果使用不當,他們可能會對性能產生潛在的負面影響,正面/負面看起來就非常棒。 – Chev 2014-10-22 01:35:36