JS多重继承

    xiaoxiao2021-03-26  22

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

    思路

    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
    转载请注明原文地址: https://ju.6miu.com/read-660343.html

    最新回复(0)