原型链的继承

今天面试被问到原型原型链说是说出来了,但是不知道其原理,很难受,问我工作中哪些地方用到了原型链?

原型链实现继承
 1,私有属性继承
    通过子类构造函数调用父类构造函数用call来改变this指向。
    //子类
    function studet(num,name){
        peerson.call(this.name)
        this.name=num
        // 让子类构造函数调用父类并且用call改变父类this指向指向子类实例
    }
    //父类
    function peerson(name){
        this.name=name
    }

 2,公有方法
    让子类的原型等于父类的实例。
    function peerson(name,age){
        this.name=name // 加工
    }
    //给人类添加一个公有方法speak让所有实例都可以访问speak
    peerson。prototype.speak=function(){
        console.log(this.name)
    }
    
   1:通过原型链继承setPrototype是一个变量
   setPrototype.prototype=new personc()
   2:组合继承
   setPrototype=object.create(person.prototype)
   3:寄生继承
   fn.prototype=person.prototype
   msg.prototype=new fn()

 3,通过构造实例化对象需要填new
   new做了什么事情?
    1:让构造函数返回实例
    2:让this指向实例
    3:让实例默认继承类的原型
 4,创建实例的构造函数首字母必须要大写
  
 5,ES5继承
    通过extend(c,p){}
 6,js原型和原型链
    1:JavaScript原型
        js中每个函数都存在一个原型对象属性prototype,并且所有函数的默认原型都是object的实例。
    2:JavaScript原型链
        每个继承父类的子函数的对象都包含一个内部属性,__proto__该属性包含一个指针,指向父函数的                                        
        prototype若夫函数的原型链对象__proto__属性在上一层函数,在此过程就形成了原型链。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值