星空网 > 软件开发 > Java

javascript关于继承

     上一篇已介绍了组合继承,现在讲讲剩余的几种继承。

  原型式继承

     调用一个函数,接收这个函数返回来的对象,这个对象的原型就是传入函数的参数对象。

如:

function  personObject(o){    function F(){}    F.prototype = o;    return new F();}var person = {   name:"Nicholas",   friends:["Shelby","Court","Van"]}var person_one = personObject(person);

   从上面的代码中,我们知道person是person_one的原型。ES5中添加了一个方法规范化原型式继承,这个方法是Object.create(),这个方法有两个参数,第一个是作为新对象原型的对象,像上面的person,第二个是为新对象定义额外属性的对象。第二个参数可选。

 如:

var person_one = Object.create(person, {        name: {            value:"Jon"      }});

当你只想让一个对象与另一个对象保持类似时,可以使用原型式继承。

  寄生式继承      

       在一个函数里实现一次原型式继承,然后为接收到的这个对象添加自己的属性与方法。

如:

function createAnother(o){   var person_one = personObject(o);   person_one.sayHi = function(){       alert(" hi ");   }   return person_one;}

 

    寄生组合式继承

 

       组合继承也有其缺点,它实现了两次属性继承,而寄生组合式继承就避免了这个问题。实例通过构造函数继承了属性,而原型的方法则是通过寄生式继承的方式来继承。

如:

function inherit(subType, superType){   var prototype = Object(superType.prototype);   prototype.constructor = subType;   subType.prototype = prototype;}

   通过调用上面的函数,实现subTye.prototype的原型是superType.prototype,完成了原型方法的继承。




原标题:javascript关于继承

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

东西怎么寄马来西亚:https://www.goluckyvip.com/tag/91784.html
中国寄马来西亚运费:https://www.goluckyvip.com/tag/91785.html
从中国怎么寄东西到马来西亚:https://www.goluckyvip.com/tag/91786.html
怎么从中国寄东西到马来西亚:https://www.goluckyvip.com/tag/91787.html
从中国寄东西到马来西亚怎么寄:https://www.goluckyvip.com/tag/91788.html
中国到马来西亚快递贵吗:https://www.goluckyvip.com/tag/91789.html
三百元以内千兆路由器怎么选择?:https://www.vstour.cn/a/363184.html
千岛湖绿城度假酒店的简介:https://www.vstour.cn/a/363185.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流