原型の1つの小さいテーマ

808 ワード

タイトル要件:typeプロパティとgetType()メソッドを持つshapeオブジェクトを作成します.shapeとしてモデル化されたTriangle()コンストラクション関数を定義し、Triangle()で作成されたオブジェクトには、三角形の3つのエッジを表す3つのオブジェクト属性-a、b、cが必要です.オブジェクトプロトタイプにgetPerimeter()という新しいメソッドを追加し、次のコードでテストします.
var t = new Triangle(1,2,3);
t.constructor===Triangle;——true
shape.isPrototypeOf(t);——true
t.getPerimeter();——6
t.getType();——"triangle"

回答は次のとおりです.
//  shape  
var shape={
	type:shape,
	getType:function(){
	   return this.type;
	}
}
//  Triangle     
function Triangle(a,b,c){
    this.type="triangle";
	this.a=a;
	this.b=b;
	this.c=c;
}
//  Triangle    shape
Triangle.prototype=shape;
//         
shape.getPerimeter=function(){
	return this.a+this.b+this.c;
};
//     constructor  
Triangle.prototype.constructor=Triangle;