gpt4 book ai didi

javascript - 学习 JavaScript 如何优化执行(如果有的话)

转载 作者:行者123 更新时间:2023-11-29 20:02:05 25 4
gpt4 key购买 nike

有没有办法了解 JavaScript 是如何解释和执行的?例如,在 .NET 或 JAVA 中,您可以查看生成的字节码,在 C 中,您可以查看生成的汇编指令,但据我所知,JavaScript 是逐行解释的,然后它在不同浏览器的 JS 引擎上有所不同.

还有办法了解 JavaScript 是如何做到这一点的吗?现代浏览器中的解释器是否倾向于像编译器那样向前看并进行优化?

例如,如果我这样做了:

$('#div1').css('background-color','red');
$('#div1').css('color','white');

我可以通过以下方式获得性能增益:

var x = $('#div1');
x.css('background-color','red');
x.css('color','white');

这个问题的目的是获取一些信息,了解如何深入了解 JavaScript 在浏览器中的运行方式。

最佳答案

一如既往,所采取的优化步骤取决于编译器。我知道 SpiderMonkey有很好的文档记录,开源,我相信 JIT 编译。您可以在浏览器之外使用它进行修补,这样在试验时就少了一个需要处理的黑盒子。我不确定是否有任何方法可以在编译代码运行时转储它以查看它如何在 your 代码中进行优化,但由于没有标准的 Javascript 中间表示概念(就像有 with .NET/Java 字节码)无论如何它都会特定于引擎。

编辑:通过更多研究,您似乎确实可以让 SpiderMonkey 转到 dump its bytecode .但是请注意,优化可以在生成字节码的解释器和使用/编译/执行字节码的 JIT 编译器中进行,因此您只了解了可能发生的任何优化的一半(Java 和 . NET 字节码)。

关于javascript - 学习 JavaScript 如何优化执行(如果有的话),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13830170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com