5. コンストラクター プロトタイプを使用してクラスを定義します。同じコンストラクターで複数の型を定義できます
/**
* $define クラス記述ツール関数 2
* @param {Object} コンストラクター
* @param {Object} プロトタイプ
*/
function $define(constructor,prototype) {
var c = function(){}; = プロトタイプ | {};
for(var atr in p)
arguments.callee.prototype[atr] = p[atr]; ,arguments) ;
}
}
4 番目のメソッドと同様に、コンストラクターとプロトタイプ オブジェクトを使用して 2 つのクラスが定義されます。
function Person( name) {
this.name = name;
}
//プロトタイプ オブジェクト
var proto = {
getName : function(){return this.name},
setName : function( name){this.name = name;}
}
// 2 つのクラスを定義します
var Man = $define(person,proto)
var Woman = $define(person,proto); ) ;
console.log(Man == Woman) //false、同じコンストラクター (Person) が異なるクラスを定義します