V8 附加功能
V8 用 JavaScript 自身實現了 JavaScript 語言內建物件和函數的一個大子集。例如,您可以看到我們的 Promise 實現 是用 JavaScript 編寫的。這樣的內建物件被稱為 自托管。這些實現被包含在我們的 啟動快照 中,以便可以快速創建新上下文,而不需要在運行時設置和初始化自托管的內建物件。
V8 用 JavaScript 自身實現了 JavaScript 語言內建物件和函數的一個大子集。例如,您可以看到我們的 Promise 實現 是用 JavaScript 編寫的。這樣的內建物件被稱為 自托管。這些實現被包含在我們的 啟動快照 中,以便可以快速創建新上下文,而不需要在運行時設置和初始化自托管的內建物件。
Math.random()
返回一個帶正號、且大於等於0
且小於1
的Number
值,這個值是隨機選出的或是伪隨機選出的,並且在該範圍內近似於均勻分佈,使用實現依賴的算法或策略。此函數不接受任何參數。
JavaScript 規範包括許多內建功能,從數學函數到一個功能完善的正則表達式引擎。每個新創建的 V8 context 從一開始就可以使用這些功能。為了達到這一點,必須在 context 被創建時,將全域物件(例如,在瀏覽器中的 window 物件)和所有內建功能設置並初始化到 V8 的 heap 中。從零開始完成這些操作需要相當多的時間。
JavaScript 的效能始終是 Chrome 價值的關鍵,尤其是在提供流暢的體驗方面。從 Chrome 41 開始,V8 採用了一種新技術通過在閒置時間的小型未使用片段中隱藏昂貴的內存管理操作來提升 Web 應用的響應速度。結果,Web 開發者可期待更順暢的滾動和流暢的動畫,垃圾回收引起的卡頓大幅減少。