Function オブジェクト生成のコスト

まあ普通に考えると Function オブジェクトの生成コストだろうなぁ。ということで、関数を名前空間のように使うイディオムとしてはこう。

var style2prop = (function() {
    function capitalize(s) {
        return s.charAt(1).toUpperCase();
    }

    return function(str) {
        return str.replace(/-[a-z]/g, capitalize);
    }
})();

正規表現リテラルの扱いについてはよく知らないけど、保存しておくとパフォーマンスに寄与したりするかな?

var style2prop = (function() {
    function capitalize(s) {
        return s.charAt(1).toUpperCase();
    }

    var pat = /-[a-z]/g;
    return function(str) {
        return str.replace(pat, capitalize);
    }
})();

どうせなので、ベンチマーク置いておく。