JavaScriptは動的型付け言語なので、クラスの実装はなかなか厄介です。
どうしてもクラスが実装したくなったときには、いつも見るclass定義の形に近い形でやるのがいいと思います。
参考にしたサイトのコードにコメントを追加して、意味を追って行きたいと思います。
// 実質的なクラス名 var hoge = (function() { var FOOFOO = 777; // クラス内定数 // プロパティを定義するところ // このオブジェクトが返されるのでクラス名と同じにすること var hoge = function(arg) { //ここで書いた引数が静的型付け言語のinitメソッドの引数 this.x = 5; this.y = 10; this.z = arg; }; // クラスのメソッドを入れる箱を作る // 生成されたインスタンスは共通にこの箱を呼び出せる var p = hoge.prototype; // おそらく、Javaにおけるstaticな使い方ができるので、共通のオブジェクトを格納したい場合は変数pの中に入れる。 // hoge.f1();で関数を呼び出せる p.f1 = function() { return true; }; p.f2 = function() { return false; }; // 最後に実体を返す return hoge; })(); // インスタンスの作成 var instance = new hoge(1);