我知道缩小负责删除:空格字符,新行字符,注释,有时还有块分隔符。不久前我读到它也负责缩短变量名称。但我一直认为这是混淆的一部分。我对吗?或者现在缩小库还包括这样的功能?
答案 0 :(得分:7)
好吧,因为缩小的目标是尽可能减少代码的大小,重命名变量是一种有效的方法。
JavaScript minifiers经常使用的一个技巧是将代码包装在一个立即执行的函数中,并带有很多参数:
(function(a,b,c,d,e,f,g){/* ... */})();
这使得可以使用这些变量而无需使用var
关键字对其进行声明,从而将代码的大小减少三倍于var
个关键字的倍数。
现代缩小器使用了许多这些高级技巧来减少代码的大小,代码看似混淆只是缩小的副产品。