11

缩小如何处理$scope.obj.subObj = { key: val ...};

据我了解,最后使用的变量保持不变,

但如果我有 html 元素

<div>{{obj.subObj.key}}</div>

缩小的结果会将代码缩短为 abckey 吗?请原谅我以业余方式询问,但我试图了解 javascript 缩小是如何工作的。

4

1 回答 1

9

来自:http://en.wikipedia.org/wiki/Minification_(programming)

在计算机编程语言,尤其是 JavaScript 中,缩小(也称为最小化或最小化)是在不改变其功能的情况下从源代码中删除所有不必要字符的过程。

因此,如果缩小器能够检测到它可以安全地重写它$scope.obj.subObja.b.c它就会。

但是,根据经验,来自全局范围的任何变量,例如documentwindowjQuery不会被缩小,因为其他代码(在此文件范围之外)可能依赖于它。

缩小的下一步是使用像 Google Closure Compiler 或 Yahoo 的 YUI Compressor 这样的压缩器这些程序通常是更强大的缩小器。例如,他们可以用内联函数替换函数调用,或者用更短或更快的方法更改某个方法。这需要大量关于 JavaScript 和性能优化的知识。

您可以通过降低某些兼容性要求来提高压缩率,但我发现生成的代码非常不稳定,所以我认为我们还没有达到 :)

于 2013-06-24T17:19:58.050 回答