prototype.jsのClass.createを自作する

var Class = {create:function(proto){
	var cls = function(){this.initialize && this.initialize.apply(this,arguments);}
	cls.prototype = proto;
	return cls;
}};

prototype.jsは読み込まないけど、Class.create()構文が使いたい場合、以上のようなコードを書いてやれば使えるようになる。



原理としては、createという関数のみを持ったオブジェクトを作っている。
createのやっていることは……。
コンストラクタとなる関数オブジェクトを作成する。
初期処理は、(定義されていれば)自身のinitializeメソッドを引数をそのまま使って呼び出すこと。
そのコンストラクタのprototypeにcreateの引数で指定されたオブジェクトを設定することで、コンストラクタから生成されたオブジェクトで共通利用できるメソッドを定義する。