原型链机制简述

Javascript的原型链实现基础

 1.Javascript原型链是由双对象实现完成的。

例如:实例化一个对象str
var str = new String("abc");//创建一个String对象str


先来分析一下实例化对象的过程

1.1  调用String()的构造函数

1.2 拷贝构造函数中的属性和方法,将结果复制给str对象

1.3 创建唯一的一个原型对象,并将指针_proto_(谷歌浏览器中)指向该原型对象

1.4 将指针_proto_拷贝给str对象

由此可见,构建原型链的过程中,其中创建了两个对象( 构造函数的实例对象、唯一的原型对象)

2.图示说明



该图中通过构造函数,实例化了3个对象。
每个对象再调用构造函数时,
       首先,会拷贝构造函数中的属性和方法(),隐藏属性有(contructor、prototype指针),
       其次,创建原型对象,并将prototype指针指向该原型对象(即prototype引用一个原型对象)
       最后,prototype指针指向该构造函数的原型对象,并且这三个实例都共用原型对象上的方法 (buy,addCart)
      


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值