原型の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;