我对 JavaScript“编译”的理解是,它压缩和缩小您的代码以最终节省字节数。
压缩或缩小会使 JavaScript 运行得更快吗?
考虑以下示例:
var abcdefghijklmnopqrstuvwxyz = 1;
// vs.
var a=1;
var b = function() {
// Here is a comment
// And another
// White space
return true;
};
// vs.
var b=function(){return true}
我通过 jsPerf 运行这些示例 with little or no difference .
除了节省字节之外,JavaScript 的编译能否使其更快或更慢?
最佳答案
是的,从类似 Google Closure Compiler 应用的转换意义上的编译可以让你的脚本运行得更快。考虑这个非常简单的例子:
var x = ["hello", "james"].join(" ");
编译为:
var x="hello james";
代码更少,运行速度更快。显然这是一个愚蠢的例子。我希望你自己编写编译版本。但是,它确实证明了 Closure 能够提高性能以及文件大小。
来自 Closure 文档(添加了重点):
The Closure Compiler is a tool for making JavaScript download and run faster. It is a true compiler for JavaScript. Instead of compiling from a source language to machine code, it compiles from JavaScript to better JavaScript.
编辑
有关 Closure 编译器实际上增加 JavaScript 文件的大小 以尝试提供性能改进的示例,请参阅我对 this question 的回答。 .
关于javascript - 就性能而言,缩小/编译的 JavaScript 与未压缩的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13473796/