http://closure-compiler.appspot.com/home
(function(){
var somevar = 'somevar';
this.each(function(){
var minify_var = {
method1: somevar + '1',
method2: somevar + '2',
method3: somevar + '3',
method4: somevar + '4',
method5: somevar + '5'
};
alert(minify_var);
});
})();
像这样的代码被缩小为:
(function(){this.each(function(){alert({method1:"somevar1",method2:"somevar2",method3:"somevar3",method4:"somevar4",method5:"somevar5"})})})();
长度(+11 个符号)肯定大于:
(function(){var a="somevar";this.each(function(){alert({method1:a+"1",method2:a+"2",method3:a+"3",method4:a+"4",method5:a+"5"})})})();
问题是,我们有两个变量,但取而代之的是一个。
实际上,对于小脚本来说这还不错,但对大脚本来说可能会受到伤害。
添加了第一个变量以使缩小的代码更小,但谷歌忽略了它。
它也忽略了大多数像这样的其他尺寸优化技巧。
可以修复吗?
这个问题是关于 Google Closure,而不是 JavaScript 模式。