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);
};

もう少し中の仕組みのほうも読んでみます。