在this後,據說預編譯正則表達式將提高腳本性能。作者通過performance test來證明。然而,據我所知,這個職位正在談論你反覆使用正則表達式的情況。如果腳本中有很多正則表達式,但每個只使用一次,會怎麼樣?預編譯正則表達式會在性能方面帶來好處,在整個腳本中只使用一次?Javascript - 預編譯的正則表達式
2
A
回答
1
1
我不相信你鏈接的性能測試是決定性的。如果你看結果,差異是可以忽略的,因爲正則表達式不夠複雜。看看this測試更好一點的答案。
無論哪種方式,如果正則表達式多次使用,存儲正則表達式值只會提高性能。這種性能提升僅歸因於正則表達式本身的初始編譯開銷。如果將正則表達式存儲在一個變量中,那麼它將仍然是第一次編譯,就像第一次編譯文字一樣。當存儲的正則表達式使用第二個時間並且它已經被編譯,而文字正則表達式將不得不被再次編譯時,會發生差異。
+0
有編譯時間和對象創建時間(雖然這不重要)。一個文字正則表達式只會被編譯一次,但如果它被使用了一個循環,則會爲每個循環傳遞創建一個新的正則表達式* object *。爲避免這種情況,請將其存儲在循環外的變量中。 – Doin 2016-12-18 14:45:50
0
相關問題
- 1. JavaScript正則表達式編譯()
- 2. 正則表達式編譯
- 3. 編譯正則表達式
- 4. 用Python正則表達式編譯模糊正則表達式
- 5. 的Javascript正則表達式如預期
- 6. 在PHP中編譯正則表達式
- 7. Perl,一組預編譯的正則表達式的匹配
- 8. PHP的正則表達式不編譯
- 9. Python的正則表達式編譯
- 10. Perl的正則表達式預編譯 - UTF8
- 11. perl預編譯的正則表達式問題
- 12. 翻譯Javascript正則表達式到Python
- 13. Boost正則表達式不會編譯
- 14. POSIX正則表達式不編譯
- 15. 編譯替換正則表達式
- 16. 如何反編譯正則表達式?
- 17. 用boost編譯正則表達式C++
- 18. RewriteRule無法編譯正則表達式
- 19. 預見正則表達式
- 20. 編譯爲正則表達式的Javascript Hashmap鍵
- 21. 正則表達式翻譯
- 22. 破譯正則表達式
- 23. 翻譯正則表達式
- 24. 使用預編譯的正則表達式模式提高速度
- 25. javascript驗證郵編正則表達式
- 26. Javascript正則表達式編組
- 27. PHP的正則表達式的JavaScript正則表達式
- 28. JavaScript的正則表達式
- 29. 的Javascript正則表達式
- 30. 的Javascript正則表達式
通過在頁面加載時預先進行編譯並且用戶期望有一點緩慢,您可能會獲得一些預期收益。但這只是將工作轉移到另一個時間,它不會節省任何東西,而且差異可能不會被察覺。 – RobG 2013-02-18 23:50:52