prototype、__proto__、constructor、原型、原型链

结论:

  1. __proto__constructor属性是对象所独有的;
  2. prototype属性是函数 所独有的,由于函数也是一种对象,所以函数也拥有__proto__constructor属性;
  3. __proto__属性的作用就是当访问一个对象的属性时,如果该对象内部不存在这个属性,那么就会去它的 __proto__ 属性所指向的那个对象(父对象)里找,一直找,直到 proto 属性的终点 null , 再往上找就相当于在 null 上取值,会报错。通过 proto 属性将连接起来的这条链路即我们所谓的"原型链"。
  4. prototype属性的作用就是让该函数所实例化的对象们都可以找到公用的属性和方法,即 f1.proto === Foo.prototype。
  5. constructor 属性的含义就是指向该对象的函数,所有函数(此时看成对象了)最终的构造函数都指向 Function 。

参考文章:

相关推荐
触底反弹1 分钟前
深入理解 JavaScript 同步与异步:从 Event Loop 到 async/await
javascript
lichenyang4532 分钟前
ArkUI 票根卡片:PathShape 真挖洞,shadow 沿凹陷外发光
前端
Cache技术分享3 分钟前
432. Java 日期时间 API - 时间工具 TemporalQuery 详解
前端·后端
浮生望7 分钟前
JavaScript 异步编程核心:从同步阻塞到 Promise 事件循环
javascript·promise
如果超人不会飞9 分钟前
TinyVue Radio单选框组件使用指南
vue.js
假如让我当三天老蒯10 分钟前
暂时性死区是否和闭包是相背的呢(自学用)
前端·javascript
渣波10 分钟前
前端开发主页面小技巧
前端·javascript
小林ixn12 分钟前
前端必知:JS同步异步与Promise,终于有人讲明白了!
javascript·面试
柯克七七12 分钟前
我用3个周末重构了公司的前端项目,老板没发现,但同事都来找我要代码了
前端
鲁班小子14 分钟前
Vite resolve.dedupe 使用教程
vue.js·vite