原型链图解

原型链图解

  1. ①是对象的共有属性, 即__proto__

  2. 因为一切皆对象,所以数组、函数等数据类型的共有属性,即②、③、④、⑤等,他们的共有属性为①。
    如:
    func.__ proto__ == ② ②.__ proto__ == ①
    [].__ proto__ == ③ ③.__ proto__ == ①

  3. Object、Function、Array、Number…这些都是函数,所以他们的__ proto__为②;
    同时他们也是创造数组、函数等数据类型的方法;
    可以理解为 Function 使用了创建了 func,即Function.prototype == func.__ proto__== ②(其他同理)
    prototype可以理解为:他会使用哪个共有属性(__ proto__)创建数据

  4. ⑧ 这条线有一些特殊,因为func也能够创建一个对象,我认为开发者在写这个逻辑的时候一开始是有两条思路的;
    一条是:既然func也能够创建一个对象,那么他创建时,同样使用①创建一个对象
    另一条是:新建一个共有属性,即:⑧,然后用⑧创建一个对象
    根据我的测试,第二条思路是正确的

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值