Javacript原型链深入理解及原型图

1. js的继承机制

在js中,“万物皆对象”,而对象间的继承是通过原型继承(即构造函数的prototype属性)实现的,该prototype属性的值是个对象(简称prototype对象吧),prototype对象在构造函数创建的所有实例中是共享的。而每个对象都是由对应的构造函数创建的,所以每个对象都可通过object.__proto__的方式访问构造函数的prototype对象。
tips:Function

2.js原型关系

原型图:
这里写图片描述
控制台验证:
这里写图片描述

3.总结:

因为js里面没有类,所以对象之间的继承是通过js特有的原型链来实现的。每个对象除了手动添加的属性(包含普通属性和方法,如:name:“zs”,say:function(){})外,都含有一个被自动添加的属性对象(键名:_proto_,键值:prototype对象值),该prototype属性对象中也都有一个constructor键,指向他的构造函数。上例原型关系如下:
f.__proto__和Foo.prototype是同一个对象,Foo.prototype.constructor = Foo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章