if文のだらしない分岐を出来るだけ減らす

var キャラクター = {
    ジャンプする : function() { this.y = 10 },
    しゃがむ : function() { this.animate('しゃがみ'); },
    もぐる : function() { this.animate('もぐる'); },
    右に動く : function() { this.x += 5; },
    左に動く : function() { this.x -= 5; }
};

に対して

var 押されたキーの方向によって行動を変える = function(dir) {
    if(dir === 'up') {
        キャラクター.ジャンプする();
    } else if(dir === 'down') {
        キャラクター.しゃがむ();
    } else if(dir === 'right') {
        キャラクター.右に動く();
    } else if(dir === 'left') {
        キャラクター.左に動く();
    }
};

というのはだらしない。

var move_to = { up : 'ジャンプする', down : 'しゃがむ', right : '右に動く', left : '左に動く' };
var 押されたキーの方向によって行動を変える = function(dir) {
    if(dir in move_to) キャラクター[move_to[dir]]();
};

これならまだ許されるのでは。
このコードは引数が渡せない等の不便があるが、工夫次第でどうにでもなることは言うまでもない。

https://github.com/myatsumoto/fusuma/
この方式はこのライブラリに活用した。