2012-12-10 61 views
2

如何理解執行JavaScript時使用的引擎?正在使用什麼引擎?

例如,V8或SpiderMonkey的或nashhorn

+2

您是否試圖通過利用特定的運行時功能進行微型優化? – Gareth

+0

你爲什麼想知道......? –

+0

就像使用瀏覽器一樣,它通常*功能檢測*更好,而不是引擎檢測。因此,例如,如果您想知道引擎是否支持'Object.defineProperty',請查看'defineProperty'是否在'Object'上。 (我假設你已經掌握了知道沒有人加入半完成墊片的程度)。 –

回答

0

JavaScript引擎(及其版本)是密切相關的瀏覽器(版本)。

因此,只需使用瀏覽器檢測,並將其映射到帶有表格的JS引擎。許多瀏覽器甚至將引擎構建在他們的UA字符串中。

或更好:不要這樣做,原因很相同。除了瀏覽器測試套件(您可以向用戶提問)之外,幾乎沒有需要了解JS引擎的用例。對於其他任何事情,您都應該使用功能檢測。不同的發動機與ES規格不同,您可以測試這些細微之處。

相關問題