解析 原型链

1、 解读函数的 prototype 属性

  • 每个函数都有一个prototype 属性(显示原型属性),它默认指向一个Object空对象(即称为:原型对象)
  • 每个实例对象(new 函数名())都有一个__proto__,称为隐式原型属性。
  • 对象的隐式原型的值为其对应构造函数的显式原型的值(内存结构如图所示:)
  • 原型对象中有一个属性constructor,它指向函数对象
  • 给原型对象添加属性(一般都是方法)

总结:

  • 函数的prototype 属性:在定义函数时自动添加的,默认值是一个空Object对象
  • 对象的__proto__属性:创建对象时自动添加的,默认值为构造函数的prototype属性值
  • 我们能操作显式原型,不能直接操作隐式原型(ES6之前)

作用:函数的所有实例的对象自动拥有原型中的属性(方法)

优点:
1、函数写进入原型(prototype),方便继承调用。

在这里插入图片描述

发布了121 篇原创文章 · 获赞 151 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/feifanzhuli/article/details/89370968