原型 原型链 call/apply 继承模式

原型   原型链  call/apply  继承模式
 构造函数的三段式
隐式生成对象this={},生成的this并不是空对象,而是有__proto__:Person.prototype,指向当前引用的原型。
prototype(原型)
会先找自己有没有这个属性,如果没有会沿着__proto__指向的寻找有没有。
可以修改__proto__的指向。
方法里的this指向:谁调用此方法,就指向谁。
绝大多数对象的最终都会继承自object.prototype,或者null
可正常计算的范围    小数点前16位后16位。


方法名.call()  会改变方法内部this的指向,指向第一个参数,后面的参数是正常传实参。
apply,第一个参数同样是指向的对象,但实参只能传一个数组形式的。
即:
    call需要把实参按照行形参的个数传进去。
    apply需要把实参放进一个arguments传进去。

传统形式 (原型链) :会过多继承没用的属性。        
借用构造函数:不能继承借用构造函数的原型。每次构造函数都要多走一个函数。
共享模式:不能随意改动自己的原型。
圣杯模式:
   function inherit(Target,Origin){
        function F(){};
        F.prototype = Origin.prototype;
        Target.prototype = new F();
        Target.prototype.constuctor = Target;
        Target.prototype.uber = Origin.prototype;
   }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值