美文网首页
关于原型继承的三种方法

关于原型继承的三种方法

作者: 绝版晓航 | 来源:发表于2017-09-27 20:28 被阅读0次

    1.利用对象的动态特性添加成员

    varo={};

    o.name=‘jim’

    varPerson=function(){};

    Person.prototype.sayHello=function(){

    alert(“xxxx")

    }

    //此时原型对象是对象,可以利用动态特性随时添加成员

    //添加的成员都会被构造函数的对象所继承

    2.利用覆盖原型对象

    varPerson=function(){};

    Person.prototype={

    say:function(){},

    said:function(){}

    constructor:Person;//添加constructor

    }

    如果使用这种方法会覆盖掉原有的prototype方法(包括constructor)  指向为构造函数的constructor

    一定要给新对象添加一个constructor属性

    3.利用组合式继承添加属性

    利用extend方法(在我之前的博客中有)

    extend()

    varPerson=function(){};

    Person.prototype={

    say:function(){},

    said:function(){}

    constructor:Person;//添加constructor

    }

    Person.extend=function( msg ){

    for(varkinmsg){

    Person.prototype[k]=msg[k]

    }

    }

    原文参考入口三种方法

    相关文章

      网友评论

          本文标题:关于原型继承的三种方法

          本文链接:https://www.haomeiwen.com/subject/uoadextx.html