-->

2010-04-18

javascript を短くしてみましょう 第4回

prototype.js を再び短くしてみましょう。

javascript を圧縮するツールはすでにあるので、そちらがお勧めです。
http://fnya.cocolog-nifty.com/blog/2007/08/yui_compressor__57c4.html
http://webos-goodies.jp/archives/51182388.html
http://dogmap.jp/2007/09/06/minify-javascript/
http://fnya.cocolog-nifty.com/blog/2009/10/microsoft-ajax-.html
http://aspnet.codeplex.com/releases/view/34488

prototype.min.js.2010-04-18.gz (通常時: 約 78KB, 圧縮時: 約 22KB)

前回と比べて 19 Byte, 圧縮時に 989 Byte 縮みました。
また簡単な動作テストしかしていないです。

今回の結論は、前回 ajaxmin に負けていたので、もう一度やってみましたが、圧縮時のサイズのみ勝ちました。変数以外の内容も変更しないと非圧縮時は勝てないようです。

今回の javascript を短くする方法は、下記になります。
  • 以前の修正を行う。
  • 変数名が2文字の部分を1文字にする。
詳細は、変数 a, b, c, が ...処理... の中で利用されていない時
変数 xx, yy, zz は a, b, c に名前を変えても動作に問題ない、といった内容です。
(function (){
var a, b, c;
var d = function (){var xx, yy, zz; ...処理... }
})()

さらに縮めるには
先頭のコメントを消す、
var a; var b; を var a, b; にする、
if(xxx){yyy} を if(xxx)yyy; にする、
function (){...}; のセミコロンを消す、
などがありますがコメント以外は、
動作変更を含まないソースのサイズ削減ではなく、
動作変更を含むソースのサイズ削減になるかもしれないので、
別問題だと思うので、対象外です。
先頭のコメントもライセンス表示なので消すべきではないです。

javascript を短くしてみましょう 第1回
javascript を短くしてみましょう 第2回
javascript を短くしてみましょう 第3回
javascript を短くしてみましょう 第5回

0 件のコメント: