原型和原型链

是什么

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

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

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

为什么

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

怎么办

搞清楚这张图

相关推荐
Amewin19 分钟前
在vue3+uniapp+vite中挂载全局属性方法
javascript·vue.js·uni-app
玖釉-20 分钟前
用 Vue + DeepSeek 打造一个智能聊天网站(完整前后端项目开源)
前端·javascript·vue.js
zhangyao9403301 小时前
关于js导入Excel时,Excel的(年/月/日)日期是五位数字的问题。以及对Excel日期存在的错误的分析和处理。
开发语言·javascript·excel
骑驴看星星a1 小时前
【Three.js--manual script】4.光照
android·开发语言·javascript
星释2 小时前
Rust 练习册 :Leap与日期计算
开发语言·后端·rust
悟能不能悟4 小时前
java的java.sql.Date和java.util.Date的区别,应该怎么使用
java·开发语言
循环过三天4 小时前
3.4、Python-集合
开发语言·笔记·python·学习·算法
_院长大人_6 小时前
设计模式-工厂模式
java·开发语言·设计模式
MATLAB代码顾问6 小时前
MATLAB实现决策树数值预测
开发语言·决策树·matlab
devincob7 小时前
js原生、vue导出、react导出、axios ( post请求方式)跨平台导出下载四种方式的demo
javascript·vue.js·react.js