https://developers.google.com/v8/intro

 

本文内容

  • 介绍
  • 关于 V8 引擎
  • V8 引擎入门
  • 参考资料

 

介绍


V8 是 Google 开源的、高性能的 JavaScript 引擎。V8 是由 C++ 编写,并用在 Google 开源浏览器 Chrome 中。

Google 的 V8 项目旨在帮助那些 C ++ 开发者在他们的应用程序中使用 V8,以及对 V8 的设计和性能感兴趣的人。本文及其后的文章将介绍 V8,和如何在你的代码中使用 V8,并提供一套 JavaScript benchmarks 来测量 V8 的性能。

 

关于 V8 引擎


V8 实现了 ECMA-262 第 5 版描述的 ECMAScript,可运行在 Windows(XP 或更高)、Mac OS X(10.5 或更高)和使用 IA-32、x64 或 ARM 处理器的 Linux 系统。

V8 编译和执行 JavaScript 源代码,处理对象内存分配,对不再使用的对象进行回收。V8 的垃圾回收(Google 自己说是“能停止世界、新一代、准确的垃圾回收”)是其性能的关键。其他的性能方面,如 V8 设计元素(V8 Design Elements)。

JavaScript 是浏览器中最常用的客户端脚本,如用来操作 DOM(Document Object Model,文档对象模型)。但是,DOM 通常由 JavaScript 提供,而不是浏览器。V8—Google Chrome 就是这样。但是,V8 提供所有的数据类型、操作符、对象和 ECMA 标准规定的函数。

V8 可以使任何 C++ 应用程序向 JavaScript 代码公开自己的对象和函数。由你决定向 JavaScript 公开你希望的对象和函数。在这方面,有很多应用程序都这么做,如,Adobe Flash 和苹果 Mac OS X 中 Dashboard  部件和和雅虎部件。

 

V8 引擎入门


首先,需要下载 V8 源代码并生成 V8。之后,演示 V8 代码的 "Hello World" 示例。在演示 "Hello World" 示例时,介绍一些关键的 V8 概念。

  • Hello World 示例
  • 运行 Hello World 示例
Hello World 示例

把一个 JavaScript 语句作为一个字符串参数,作为 JavaScript 代码执行,并输出结果。但是下面代码不能执行,因为它还缺少 V8 必要的部分。

char* argv[]) {
 
  // Create a string containing the JavaScript source code.
  String source = String::New("'Hello' + ', World'");
 
  // Compile the source code.
  Script script = Script::Compile(source);
  
  // Run the script to get the result.
  Value result = script->Run();
 
  // Convert the result to an ASCII string and print it.
  String::AsciiValue ascii(result);
  printf("%s\n", *ascii);
  return 0;
}

相关文章:

  • 2021-07-13
  • 2021-12-16
  • 2021-07-17
  • 2021-09-15
  • 2022-12-23
  • 2021-10-04
  • 2021-09-26
猜你喜欢
  • 2021-12-03
  • 2021-06-30
  • 2022-12-23
  • 2021-10-29
  • 2021-09-14
  • 2022-12-23
  • 2021-12-23
相关资源
相似解决方案