问题标签 [v8]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Javascript 引擎的优势
我现在对 JavaScript 引擎感到困惑。我知道V8很重要,因为它将 JavaScript 编译为本机代码。
然后我开始阅读有关Mozilla SpiderMonkey的信息,据我了解,它是用 C 语言编写的,可以编译 JavaScript。那么这与 V8 有何不同,如果这是真的,为什么 Firefox 不这样做呢?
最后,Rhino是否真的将 JavaScript 编译为 Java 字节码,以便您获得 Java 的所有速度优势?如果不是,为什么人们在桌面上编写脚本时不运行 V8?
javascript - Javascript 正则表达式挂起(使用 v8)
我使用这个正则表达式来获取文件中标签的内容。
这会导致 v8 引擎无限期挂起。
现在,如果我使用new RegExp("<tag:main>([\s\S]*)</tag:main>")
,一切都很好。
任何人都知道为什么第一个需要太长时间?
c++ - 如何使用 V8 的内置函数
我是 javascript 和 V8 的新手。根据 Google's Embedder's Guide,我在上下文部分看到了一些关于内置实用程序 javascript 函数的内容。而且我还在下载的源代码中找到了一些.js文件(例如math.js),所以我尝试编写一个简单的程序来调用这些文件中的函数,但我失败了。
创建的上下文是否
Persistent<Context> context = Context::New()
有任何内置的 js 函数?我怎样才能访问它们?有没有办法首先将现有的 js 文件作为库导入(类似于 HTML 页面中的 src="xxx" type="text/javascript" )然后运行我自己的执行脚本?
我可以通过应用程序中的嵌入式 V8 库调用谷歌地图 api 吗?如何?
javascript - Google Javascript v8 - 多线程
假设我有以下代码
确实不能使用多个线程执行此代码吗?似乎HandleScope
不是为多线程应用程序设计的。我可以使用v8::Locker
andv8::Unlocker
方法,但这总是会给我执行跟踪,如下所示:
我希望有人能给我一个关于让这个代码多线程的提示,以便可能的执行跟踪可以像这样:
javascript - Javascript让对象回退到另一个
这是一个丑陋的Javascript,如果能找到解决方法会很好。
Javascript 没有类,这是一件好事。但是它以一种相当丑陋的方式实现了对象之间的回退。基本构造应该是拥有一个对象,当无法找到某个属性时,它会退回到另一个对象。
因此,如果我们想a
退回到b
我们想要做的事情:
然后
但是,Javascript 提供了一个new
运算符和prototypes
. 所以我们做的远不那么优雅:
但是除了优雅之外,这也没有那么强大,因为这意味着用 A 创建的任何东西都会得到相同的后备对象。
我想做的是将 Javascript 从这种人为的限制中解放出来,并能够为任何单个对象提供任何其他单个对象作为其后备。这样我可以在有意义的时候保持当前的行为,但在有意义的时候使用对象级继承。
我最初的方法是创建一个虚拟构造函数:
但不幸的是:
任何想法为什么这不起作用,或任何解决方案的实施setFallback
?
(我通过 node.js 在 V8 上运行,以防这取决于平台)
编辑:
我在下面发布了一个部分解决方案,适用于 V8,但不是通用的。我仍然希望有一个更通用的解决方案。
javascript - 在没有浏览器的情况下执行 JavaScript?
我正在研究没有浏览器的 Javascript 编程。我想从 Linux 或 Mac OS X 命令行运行脚本,就像我们运行任何其他脚本语言(ruby、php、perl、python...)
我研究了蜘蛛猴 (Mozilla) 和 v8 (Google),但它们似乎都是嵌入的。
是否有人使用 Javascript 作为脚本语言从命令行执行?
如果有人好奇我为什么要研究这个,我一直在寻找node.js。node.js 的性能让我想知道 javascript 是否可以成为处理大数据的可行脚本语言。
javascript - 使用 V8 将 JavaScript 编译为原生代码
使用 Google 的 V8 引擎,真的有可能将 JavaScript 编译为原生代码,将其保存为二进制文件,并在任何时候通过我的软件环境在任何机器上执行它吗?
javascript - 我在哪里下载 TraceMonkey?
我可以从这里获得 Spidermonkey javascript 引擎:
http://www.mozilla.org/js/spidermonkey/
而且,我知道 Tracemonkey 是 SpiderMonkey 之后发布的较新版本,但我在 Mozilla 中找不到它的下载链接?是否发布供公众使用?我应该坚持使用 SpiderMonkey 还是完全切换到 Google 的 V8 - 如果 TraceMonkey 无法公开下载?
v8 - v8 对于我的目的来说太慢了
我正在为 libvisual 开发音乐可视化插件。这是一个 AVS 克隆—— AVS 来自 Winamp。现在我有一个超级作用域插件。该元素有 4 个脚本,“点”在每个像素处运行。你可以想象它必须相当快。最初的 libvisual avs 克隆有一个非常快的 JIT 编译器,但它有一些错误并且没有完全实现,所以我决定尝试 v8。好吧,v8 在每个像素处运行编译脚本太慢了。为此目的,是否有任何其他脚本引擎会非常快?
javascript - 如何在 V8 Javascript 引擎中公开一个 C++ 类,以便可以使用 new 创建它?
公开 Point 类的官方示例似乎假设您的程序中将有固定数量的实例。当在 Javascript 中调用new时,尚不清楚如何在 C++ 代码中分配新实例。
你将如何公开一个可以有多个实例的类?例如,一个 Image 类: