缩小和变量名称

时间:2012-10-07 12:30:34

标签: javascript obfuscation minify

我知道缩小负责删除:空格字符,新行字符,注释,有时还有块分隔符。不久前我读到它也负责缩短变量名称。但我一直认为这是混淆的一部分。我对吗?或者现在缩小库还包括这样的功能?

1 个答案:

答案 0 :(得分:7)

好吧,因为缩小的目标是尽可能减少代码的大小,重命名变量是一种有效的方法。

JavaScript minifiers经常使用的一个技巧是将代码包装在一个立即执行的函数中,并带有很多参数:

(function(a,b,c,d,e,f,g){/* ... */})();

这使得可以使用这些变量而无需使用var关键字对其进行声明,从而将代码的大小减少三倍于var个关键字的倍数。

现代缩小器使用了许多这些高级技巧来减少代码的大小,代码看似混淆只是缩小的副产品。

相关问题