ふと思ったのでメモ。 function Hoge() { this.init.apply(this, arguments); } Hoge.prototype = (function(){ /* * Private functions */ function foo(arg){ // .... } /* * Public Methods/Properties */ var pub = { init: function(name){ // ... }, bar: function(arg){ foo(arg); // ... } }; return pub; })(); としておくと、プライベートな関数をprototype内から使える。ただし、prototype内はインスタンスに共有されるので、変数を入れておくと後で痛い目に会いそう。逆に共有されることが分かっていれば有用にも使えそうだ。 も