面试官:我们来聊聊Chrome中的V8隐藏类吧

杭州IT程序员亮亮 16小时前

    前言

    本文是关于V8内部工作原理的翻译类文章,主要讲解了V8内部的数据表示方式-隐藏类,并给出具体代码编写中的优化策略。

    当然,欢迎大家关注我,我将持续分享哪些前端层面核心的知识点,希望能给同处前端的你带来一点点收获。

    1、文章概述

    几周之前,我们开始了一系列旨在深入挖掘JavaScript及其实际工作原理的研究:我们认为通过了解JavaScript的构建块以及它们如何共同发挥作用,您将能够编写更好的代码和应用程序。

    前面写了两篇《》和《》关于浏览器内部原理的文章。 这篇文章将深入探讨谷歌V8 JavaScript引擎的内部原理,并提供一些关于如何编写更好的JavaScript代码的最佳实践。

    JavaScript引擎是执行JavaScript代码的程序或解释器。 JavaScript引擎可以实现为标准解释器,或即时编译器,其中后者将JavaScript编译为字节码。下面是实现了JavaScript引擎的热门项目列表:

    V8 - 由Google开发的开源软件,用C ++编写

    Rhino - 由Mozilla Foundation管理,开源,完全用Java开发

    SpiderMonkey - 第一个支持Netscape Navigator的JavaScript引擎,现在支持Firefox

    JavaScriptCore - 开源,以Nitro销售,由Apple为Safari开发

    KJS - KDE的引擎最初由Harri Porten为KDE项目的Konqueror Web浏览器开发