缩小如何处理 $scope.obj.subObj = { key: val ...};
据我了解,最后使用的变量保持不变,
但是如果我要有 html 元素
<div>{{obj.subObj.key}}</div>
minify 的结果是否会将代码缩短为 a.b.c.key? 请原谅我以业余方式提问,但我正在尝试了解 javascript 缩小的工作原理。
最佳答案
发件人:http://en.wikipedia.org/wiki/Minification_(programming)
Minification (also minimisation or minimization), in computer programming languages and especially JavaScript, is the process of removing all unnecessary characters from source code, without changing its functionality.
因此,如果压缩器能够检测到它可以安全地将 $scope.obj.subObj
重写为 a.b.c
,它就会这样做。
根据经验,任何来自全局范围的变量,如 document
、window
或 jQuery
都不会被缩小因为其他代码(超出此文件的范围)可能依赖于它。
压缩的下一步是使用压缩器,例如 Google Closure Compiler 或 Yahoo 的 YUI Compressor。这些程序通常是更强大的压缩器。例如,他们可以用内联函数替换函数调用,或者用更短或更快的方法更改某个方法。这需要大量关于 JavaScript 和性能优化的知识。
您可以通过降低某些兼容性要求来提高压缩率,但我发现生成的代码非常不稳定,所以我认为我们还没有做到这一点 :)
关于javascript - 缩小是如何工作的,它会影响 Angular 嵌套对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17281171/