比较语句的 Javascript 缩小

标签 javascript google-closure-compiler minify

我正在查看由闭包生成的缩小的 js 文件之一。我发现无论我在哪里检查变量和字符串之间的相等性,例如,

a == "13" || a == "40"

闭包将其替换为

"13" == a || "40" == a

为什么要做这个修改?这里有一些性能优势吗?

最佳答案

这样做是为了获得较小的 gzip 压缩优势。如果你有“x == 1”和“1 == x”,编译器在这两种情况下都会将其切换为“1 == x”,你会得到更多压缩得更好的常规代码。胜利是如此之小,以至于我考虑过删除代码并节省 cpu 周期,但现在是这样。它与防止程序员错误无关,因为它永远不会将“x = 2”切换为“2 = x”,因为这会改变程序的含义。

关于比较语句的 Javascript 缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9256579/

相关文章:

javascript - Nodejs打印两次

javascript - 丑化和混淆之间的区别?多一个安全吗?

javascript - Google Closure 和生成的 getters/setters

javascript - Google Closure 编译器,处理 JSC_INEXISTENT_PROPERTY 警告

javascript - webpack 缩小 HtmlWebpackPlugin

javascript - AngularJS 1.3 路由不起作用; Controller 从未调用过

javascript - 为什么我无法从 POST 请求中获取文件?

javascript - 如何添加 JS 模块的包含路径

javascript - 可靠且方便的 JavaScript 压缩器

javascript - YUI 压缩器错误 - jQuery Autotype