当前位置: 首页 > news >正文

简单说一下原型与原型链

文章目录

    • 原型
    • 原型链

原型

简单来说原型就像是对象的 “爸爸”,每个对象都有一个原型。当你创建一个对象时,这个对象就会有一个内部链接,指向它的原型。你可以把原型想象成对象的一种模板,对象可以从中继承属性和方法。

举个例子,如果有一个狗类的原型,那么通过这个原型,你可以创建很多个实际的狗对象,它们都可以共享一些相同的特征和行为,比如都有四条腿、会叫等。

原型链

原型链是一种对象之间的关系链,通过这个链条,对象可以访问到它的原型,以及原型的原型,形成一条链条直到最顶层的对象。

举个例子,假设你有一个具体的狗对象,但它并没有某个属性,JavaScript 就会帮你查找这个属性是否存在于它的原型上,如果还没有,就会继续往上查找,直到找到为止。这种查找的过程就是原型链的工作机制。

原型链的顶端是所有对象的祖先,即 Object 对象。所有对象都有一个共同的原型,而这个原型就是 Object.prototype。

假设有一个动物类的原型,它有一个共同的属性 eat 表示吃的行为。

// 动物类的原型
const animalPrototype = {eat: function() {console.log('动物正在吃');}
};

通过原型创建狗对象的例子:
通过这个原型创建狗对象,狗对象还可以有自己的属性和方法,比如 bark 方法表示狗叫的声音。

// 通过动物类的原型创建狗对象
const dog = Object.create(animalPrototype);
dog.bark = function() {console.log('汪汪汪');
};// 狗对象调用共同的 eat 方法
dog.eat(); // 输出:动物正在吃// 狗对象调用自己的 bark 方法
dog.bark(); // 输出:汪汪汪

这样,通过原型,我们可以实现对共同特征的共享,并在每个对象中添加自己独特的属性和方法。这就是原型的基本用法。

简单来说,原型是对象的 “爸爸”,它定义了对象的基本特征和行为。原型链是一种通过对象之间的原型关系建立的链条,让对象可以共享和继承彼此的特征和行为。

http://www.lryc.cn/news/279751.html

相关文章:

  • 11Spring IoC注解式开发(上)(元注解/声明Bean的注解/注解的使用/负责实例化Bean的注解)
  • k8s 部署Jenkins项目
  • #每日一题#力扣#2085.统计出现过一次的公共字符串
  • Python系列(1):简洁优雅,功能强大的编程语言
  • HarmonyOS应用开发学习笔记 arkTS自定义弹窗(CustomDialog)简单使用 arkTS弹出框回调、监听
  • RabbitMQ(六)消息的持久化
  • mybatisplus配置
  • node-sass@4.7.2 postinstall: `node scripts/build.js`
  • pyDAL一个python的ORM(9) pyDAL的嵌套查询
  • 融资项目——EasyExcel操作Excel文件
  • OAI openair3-NAS-UE-EMM代码解读(续)
  • SQL-条件查询与聚合函数的使用
  • Qt移植曲线显示
  • 基于springboot生鲜交易系统源码和论文
  • vue中鼠标拖动触发滚动条的移动
  • 1、理解Transformer:革新自然语言处理的模型
  • Acwing847 图中点的层次(bfs)
  • windows11通过虚拟机安装Ubuntu20.04
  • 时序预测 | Matlab实现EEMD-SSA-BiLSTM、EEMD-BiLSTM、SSA-BiLSTM、BiLSTM时序预测对比
  • Android14之解决Pixel手机联网出现感叹号(一百八十)
  • Vmware虚拟机问题解决方案 运行虚拟机系统蓝屏 运行虚拟机时报错VT-x
  • uni-app中轮播图实现大图预览
  • 了解什么是UV纹理?
  • 【蓝桥备赛】wzy的数组Ⅱ——简单莫队问题
  • 学习Qt笔记
  • pymssql 报错误解决办法:20002, severity 9
  • Web缓存代理
  • Rust-模式解构
  • C#基于ScottPlot进行可视化
  • 基于JAVA+ssm开发的在线报名系统设计与实现【附源码】