原型和原型链

是什么

  • 原型
    js中的对象都有_proto_属性,指向一个对象,该对象就是原型对象,然后对象可以从原型对象上继承到属性方法
    构造函数有一个prototype属性指向原型对象
    原型对象由constructor属性 指向构造函数
  • 原型链
    原型对象也是一个对象,也
    有_proto_属性指向它的原型对象,这样由相互关联的原型对象构成的链式结构称作原型链

补充 : js的对象分为函数对象与普通对象

除了Object的原型对象(Object.prototype)的__proto__指向null,其他内置函数对象的原型对象(例如:Array.prototype)和自定义构造函数的 __proto__都指向Object.prototype, 因为原型对象本身是普通对象。 即:

为什么

  • 节省内存
    原型对象存放实例共有的属性方法
  • 动态添加公有的属性方法
    实例可以动态的获取构造函数之后添加的原型对象上的方法属性

怎么办

搞清楚这张图

相关推荐
Dorcas_FE11 小时前
【tips】动态el-form-item中校验的注意点
前端·javascript·vue.js
八月ouc11 小时前
解密JavaScript模块化演进:从IIFE到ES Module,深入理解现代前端工程化基石
javascript·es6·模块化·cmd·commonjs·amd·iife
oioihoii11 小时前
性能提升11.4%!C++ Vector的reserve()方法让我大吃一惊
开发语言·c++
毕设源码-朱学姐11 小时前
【开题答辩全过程】以 基于JAVA的恒星酒店客房管理系统为例,包含答辩的问题和答案
java·开发语言
四岁爱上了她11 小时前
input输入框焦点的获取和隐藏div,一个自定义的下拉选择
前端·javascript·vue.js
思密吗喽11 小时前
景区行李寄存管理系统
java·开发语言·spring boot·毕业设计·课程设计
Rust语言中文社区11 小时前
【Rust日报】Dioxus 用起来有趣吗?
开发语言·后端·rust
小灰灰搞电子11 小时前
Rust Slint实现颜色选择器源码分享
开发语言·后端·rust
烟袅12 小时前
5 分钟把 Coze 智能体嵌入网页:原生 JS + Vite 极简方案
前端·javascript·llm
无限进步_12 小时前
C语言数组元素删除算法详解:从基础实现到性能优化
c语言·开发语言·windows·git·算法·github·visual studio