美文网首页
JavaScript(三)---原型与原型链

JavaScript(三)---原型与原型链

作者: MoreCode | 来源:发表于2020-08-04 19:22 被阅读0次

原型

js分为普通对象和函数对象,typeof检测时为object或者function

  • 每个对象都有_proto_属性
  • 只有函数对象才有prototype属性

_proto_和prototype是啥?

  • 属性_proto_是一个对象,它有两个属性,constructor和 _proto_;
  • 原型对象prototype有一个默认的constructor属性,用于记录实例是由哪个构造函数创建;

原型链

每个对象都会隐式的引用_proto_这个对象,而每个对象的_proto_对象也有_proto_属性,因此层层嵌套,直到Object.prototype.ptoro==null

原型链.png
  • 构造函数的_proto_属性和构造函数prototype的_proto_属性是指向不同对象的,前者是Function的实例,因此指向Function.prototype, 后者是普通对象,若没有继承自其它类直接指向Object.prototype。
  • Function和Object构造函数的_proto_属性都是指向Function.prototype,Function的原型的_proto_属性指向Object.prototype。

总结,构造函数的proto原型链上Function.prototype

相关文章

网友评论

      本文标题:JavaScript(三)---原型与原型链

      本文链接:https://www.haomeiwen.com/subject/scnyrktx.html