首页 > 代码库 > 原型链是什么样的?
原型链是什么样的?
原型链是怎么链接的呢?
简单说下自己的理解:
每个对象都有一个原型对象. 原型对象中存放这这个对象的属性和方法.
每个对象都有一个指针_proto_. 指向自己的原型对象.
每个对象都有一个prototype属性. 这个属性是一个对象, 存放了一些方法和属性,让原型链下游的对象来继承.
假设有a b c 三个对象,c继承b, b 继承 a , 这样就形成了一个如图的原型链.
(画得不好,但要表达的意思到了,凑合看吧)
当然,a.prototype,b.prototype ,c.prototype等等这些, 也是一个对象, 它们也有自己的原型对象. 也是用_proto_指向自己的原型对象.
说到原型这块, 就得知道new, new发生了什么?
第一步 : 初始化一个对象 {}
第二步 : 将这个对象的 原型对象 指向 构造器的 prototype 属性
第三步 : 构造器函数.call( {}, 参数 ) 改变构造器函数中this的指针, 指向{} 这个对象, 并执行构造
器函数
第四步 : 返回这个对象 {} .
原型链是什么样的?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。