浏览器如何扩展本机 JavaScript 环境以添加像 Window 这样的宿主对象?

How does the browser extend the native JavaScript environment to add host objects like Window?

chrome 浏览器如何向本机 JavaScript 环境提供宿主对象?宿主对象是否用 C++ 实现,然后与 V8 源代码链接?

Window 对象如何可供程序员使用?显然,浏览器上的 JavaScript 环境与 node.js 环境不同。 Node.js 和 chrome 都使用 v8 引擎,但它们提供两种不同的 JavaScript 环境。我想知道这是如何实现的。

这里是 V8 开发人员。正如对这个问题的评论已经提到的,V8 有一个用于嵌入器的 API,嵌入器使用它来暴露他们需要的任何对象 JavaScript。选择完全取决于此处的嵌入器:Chrome 做一件事,node.js 做另一件事,您自己的应用程序(如果您编写一个)可以做完全不同的事情。