JS多重継承
2205 ワード
複数の相続とは、1つのサブオブジェクトのうち複数の親オブジェクトの属性を指し、同名の属性があれば、後ろの方が前の方をカバーします.
考え方
1、multi()関数を作成し、任意の数の入力オブジェクト(tip:argmentsは、送信された任意のパラメータを受け入れることができます)を受け入れることができます.2、関数内で二重循環を実現し、オブジェクト属性を巡回してコピーするために使用され、外部循環は、巡回してすべてのオブジェクトを巡回するために使用されます.
考え方
1、multi()関数を作成し、任意の数の入力オブジェクト(tip:argmentsは、送信された任意のパラメータを受け入れることができます)を受け入れることができます.2、関数内で二重循環を実現し、オブジェクト属性を巡回してコピーするために使用され、外部循環は、巡回してすべてのオブジェクトを巡回するために使用されます.
function multi(){
var n={},stuff,j=0,len=arguments.length;
for(j=0;jarguments[j];
for(var i in stuff){
if(stuff.hasOwnProperty(i))
n[i]=stuff[i];
}
}
return n;
}
テストvar shape={
name: 'shape',
toString: function(){
return this.name;
}
}
var twoD={
name: '2D Shape',
dimensions: 2
}
var triangle=multi(shape,twoD,{
name: 'Triangle',
side: 5,
height: 5,
getArea: function(){
return this.side*this.height/2;
}
});
>triangle.toString()
"Triangle"
>triangle.getArea()
12.5