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"})})})();
問題は、変数が 2 つあったのに、代わりに 1 つになったことです。
実際、小さなスクリプトでは問題ありませんが、大きなスクリプトでは問題が発生する可能性があります。
最初の変数は、縮小されたコードを少し小さくするために追加されますが、Google はそれを無視します。
また、このような他のサイズ最適化のトリックのほとんどを無視します。
修正できますか?
この質問は、JavaScript パターンではなく、Google Closure に関するものです。