javascript - 就性能而言,缩小/编译的 JavaScript 与未压缩的 JavaScript

标签 javascript performance compilation

我对 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/

相关文章:

javascript - jQuery 不处理 -some- 按钮点击事件

javascript - 在回发中使用 __EVENTARGUMENT

google-chrome - Chrome : How can 1. 5GB 的源代码被压缩成 50MB 的可执行文件

objective-c - Xcode Objective-c 编译时条件

javascript - 在 Windows 上安装 Yarn 时挂起的 Fibers/node-gyp

javascript - 在函数上使用 .apply 的问题

java - Android 阻止用户关闭应用程序

java - 有没有比 "pet store"更好的方法来比较 .Net 和 Java 在电子商务设置中的一般性能?

c# - 为什么 HttpWebRequest.BeginGetResponse() 同步完成?

Java 编译 - 有没有办法告诉编译器忽略我的部分代码?