美文网首页
基于 V8 引擎,书写优质 JavaScript 代码

基于 V8 引擎,书写优质 JavaScript 代码

作者: 三十文 | 来源:发表于2018-09-17 23:47 被阅读14次
  1. 对象属性尽量按续书写:始终以相同的顺序实例化对象属性,这样可以共享隐藏的类,并且优化随后属性赋值的代码。
  2. 动态属性: 在实例化之后向对象添加属性将更改强制隐藏类,并且减慢先前隐藏类优化过的任何方法。所以,我们应该尽量在构造函数中分配所有对象的属性。
  3. 方法: 因为 V8 引擎内联缓存(inline cacheing 的存在)重复执行相同方法的代码将比仅执行一次许多不同方法的代码运行得更快。
  4. 数组:
    1. 数组的 key 尽量不要修改,修改之后,数组的每个对象 key 就是 hash table,这样的数组元素在访问的时候开销相对交大。
    2. 数组使用的过程尽量让其自己增长,而不是一开始就预先分配大型数组。
    3. 不到必要情况,不要删除数组中的元素,这样的操作会使数组中 key 变成非自增的情况。
  5. 被标记的值:
    1. V8 使用 32bit 来表示一个对象或者数字,它使用一个位来标志是一个对象(flag = 1)或是一个 SMall Integer(SMI)的整数(flag = 0)。
    2. 如果一个数字值大于 31 位,V8 将会对数据进行装箱操作,将其变成双精度并且创建一个存放数值的对象。所以在代码书写过程中,尽量使用 31bit 的数字,避免 JavaScript 进行昂贵的装箱操作。

参考链接:
How JavaScript works: inside the V8 engine + 5 tips on how to write optimized code

相关文章

  • 基于 V8 引擎,书写优质 JavaScript 代码

    对象属性尽量按续书写:始终以相同的顺序实例化对象属性,这样可以共享隐藏的类,并且优化随后属性赋值的代码。 动态属性...

  • 第一章 Node 简介

    Node 是 Ryan Dahl 基于 V8 JavaScript 引擎创建的后端运行环境 JavaScript ...

  • nodejs+gulp笔记

    1.Node是什么 Node是一个基于Chrome V8引擎的JavaScript代码运行环境。 1.1 运行环境...

  • Node基础

    1 .Node概述 Node是一个基于Chrome V8引擎的JavaScript代码运行环境。 浏览器(软件)能...

  • Nodejs和NPM

    Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境,这样JavaScript 的...

  • Node.js

    一、是什么 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 什么是 V8?...

  • 学node.js需要什么基础?

    Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境,一个让 JavaScript...

  • 前端基本概念汇总

    node.js:运行在服务端的JavaScript,基于Chrome V8引擎的JavaScript运行环境,使用...

  • NodeJs入门(一)--Node安装、版本管理

    前言 概述 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎...

  • NodeJs入门(一)--Node安装、版本管理

    前言 概述 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎...

网友评论

      本文标题:基于 V8 引擎,书写优质 JavaScript 代码

      本文链接:https://www.haomeiwen.com/subject/tntrnftx.html