iAnime.jsのソースが素敵に見える件
ianime.jsが読みやすく今風のJavaScriptだなと思ったので自分の学習用にちょっとまとめてみた。
ianime.js 0.29
http://ianimejs.googlecode.com/svn/trunk/src/ianime029.js
1.匿名関数でグローバル変数の汚染を防ぐ
(function(){ ... })();
参考:JavaScript++かも日記:匿名関数で匿名スコープ&インスタンス
2.メソッドのインデント
メソッドのインデントが無く、それが読みやすいなと思いました。
iA.prototype = { add: function(param) { ... }, addSequence: function(seq) { ... }, }
3.privateメソッドのプリフィクスはアンダーバー
function _move(e,r,x,y) { e.style.left = x + "px"; e.style.top = y + "px"; }
4.effectの追加の部分
YUI Compressor が圧縮しやすいコードを書くテクニックに関する一考察にあるように、YUI Compressorで圧縮率を高めるためにiAnime.effectsをローカル変数に入れていますが、そのまま参照するより読みやすくなっている気がします。これは好みの問題かな。
var effects = iAnime.effects; // for better compression effects.fadeout = function(element, t, x, y) { this.move(element, t, x, y); iBrowse.setOpacity(element, 1-t); }; effects.fadein = function(element, t, x, y) { this.move(element, t, x, y); iBrowse.setOpacity(element, t); };
もう少し中の仕組みのほうも読んでみます。