原型和原型链

是什么

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

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

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

为什么

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

怎么办

搞清楚这张图

相关推荐
xiezhr4 分钟前
在trae的帮助下开发了俄罗斯方块游戏
前端·javascript·html
赫本的猫12 分钟前
JavaScript作用域详解:从基础到欺骗词法
前端·javascript
赫本的猫13 分钟前
JavaScript 预编译机制深度解析
前端·javascript
伍哥的传说24 分钟前
Vue3 响应式翻牌抽奖游戏
javascript·vue.js·游戏·前端框架·vue·交互
涛々33 分钟前
uniapp-vue3-js-vite-pinia-eslint 快速开发模板
javascript·uni-app·uniapp+vue3模板
Morpheon38 分钟前
R语言非结构化文本挖掘入门指南
开发语言·r语言
解道Jdon43 分钟前
最新苹果液体玻璃Liquid Glass效果CSS实现
javascript·reactjs
啊~哈1 小时前
页面弹窗适配问题
前端·javascript·vue.js
用户327324209871 小时前
logger2js - JavaScript日志与调试工具库
javascript
安然dn1 小时前
Interact.js 一个轻量级拖拽库
javascript