javascript中构造函数、对象、原型关系

function Foo1(){
   this.name1 = '1';
}
function Foo2(){
   this.name2 = '2';
}
Foo2.prototype = new Foo1();
function Foo3(){
   this.name3 = '3';
}
Foo3.prototype = new Foo2();
var foo3 = new Foo3();

按照对上述三个构造函数和实例foo3的分析,逐步理清构造函数的prototype/_proto_/constructor和实例对象的constructor/_proto_;

foo3._proto_ = Foo3.prototype = new Foo2();

其中new Foo2()包含name2/constructor/_proto_;

new Foo2()._proto_ = Foo2.prototype = new Foo1();

其中new Foo1()包含name1/constructor/_proto_;

new Foo1()._proto_=Foo1.prototype;

Foo1.prototype._proto_等于Object;


foo3.constructor等于Foo3.prototype.constructor;

Foo3.prototype等于new Foo2();

new Foo2().constructor等于Foo2.prototype.constructor;

Foo2.prototype = new Foo1();

new Foo1().constructor = Foo1.prototype.constructor = function Foo1(){this.name1 = '1';};


end

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值