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); } })();
どうせなので、ベンチマーク置いておく。