原型和原型链

是什么

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

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

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

为什么

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

怎么办

搞清楚这张图

相关推荐
mCell30 分钟前
GSAP ScrollTrigger 详解
前端·javascript·动效
gnip30 分钟前
Node.js 子进程:child_process
前端·javascript
codingandsleeping6 小时前
使用orval自动拉取swagger文档并生成ts接口
前端·javascript
白水清风7 小时前
微前端学习记录(qiankun、wujie、micro-app)
前端·javascript·前端工程化
用户22152044278007 小时前
new、原型和原型链浅析
前端·javascript
阿星做前端7 小时前
coze源码解读: space develop 页面
前端·javascript
叫我小窝吧7 小时前
Promise 的使用
前端·javascript
前端康师傅9 小时前
JavaScript 作用域
前端·javascript
云枫晖9 小时前
JS核心知识-事件循环
前端·javascript
eason_fan10 小时前
Git 大小写敏感性问题:一次组件重命名引发的CI构建失败
前端·javascript