首页 > 学院 > 开发设计 > 正文

JS多重继承

2019-11-14 09:22:14
字体:
来源:转载
供稿:网友

所谓的多重继承,是指一个子对象中可以有多个父对象的属性,若有同名属性,则后面的会覆盖前面的

思路

1、创建一个multi()函数,它可以接受任意数量的输入对象(tip:arguments可以接受传进来的任意参数)。 2、在函数内实现一个双重循环,内循环用于遍历并拷贝对象属性,外循环用于遍历传进来的所有对象

function multi(){ var n={},stuff,j=0,len=arguments.length; for(j=0;j<len;j++){ stuff=arguments[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
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表