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

前端面试宝典---原型链

引言----感谢大佬的讲解

大佬链接

原型链示意图

原型链问题中需要记住一句话:一切变量和函数都可以并且只能通过__proto__去找它所在原型链上的属性与方法

请添加图片描述

原型链需要注意的点

看上图可以发现

  1. 函数(构造函数)也可以通过__proto__去找到原型对象也就是Function.prototype
  2. Function.__proto__ === Function.prototype

练习题

function Test(name, age){this.name = namethis.age = age
}
var obj = new Test('Jack', 26)Object.prototype.price = 2000Function.prototype.price = 300console.log(Test.price) // 300
console.log(obj.price) // 2000

原型链继承的方式

function Person (name, age) {this.name = namethis.age = age
}// person的子类
function Student (name, age, score) {Person.call(this, name, age)this.score = score
}
// 1. 根据原型创建一个空对象
Student.prototype = Object.create(Person.prototype) // Object.create(Person.prototype)创建的对象是一个以Person.prototype为原型的对象
// 2. 修改Student的prototype的constructor
Student.prototype.constructor = Student // 继承
// 3.更新tostring方法
Student.prototype[Symbol.toStringTag] = Student.namelet s1 = new Student('wangwu', 18, 100)
console.log('s1.__proto__', s1.__proto__)
console.log('s1.__proto__.__proto__', s1.__proto__.__proto__)
console.log('Person.prototype', Person.prototype)
console.log('Object.prototype.toString.call(s1)', Object.prototype.toString.call(s1));

在这里插入图片描述

http://www.dtcms.com/a/133313.html

相关文章:

  • 视频设备轨迹回放平台EasyCVR打造货运汽车安全互联网视频监控与管理方案
  • 每日一题——云服务计费问题
  • L1-100 四项全能
  • html:文件上传-一次性可上传多个文件,将文件展示到页面(可删除
  • 语音识别——根据声波能量、VAD 和 频谱分析周围是否有人说话
  • 驾驭 Linux 云: JavaWeb 项目安全部署
  • leetcode第二题
  • 循环神经网络 - 门控循环单元网络之参数学习
  • UE5 Chaos :渲染网格体 (Render Mesh) 和模拟网格体 是如何关联的?为什么模拟网格体 可以驱动渲染网格体?
  • Terraform 迷思:当优雅的模块 terraform-aws-eks 与现实碰撞
  • 【机器学习】机器学习笔记
  • 【Linux网络编程】TCP Echo Server的实现
  • 电梯设备与电源滤波器:现代建筑中的安全守护者与电力净化师
  • TDengine 语言连接器(Node.js)
  • 【uni-app】axios 报错:Error: Adapter ‘http‘ is not available in the build
  • cursor如何集成MCP服务
  • 爬虫: 一文掌握 pycurl 的详细使用(更接近底层,性能更高)
  • oracle查询锁表和解锁
  • 第十八讲 | 支持向量机(SVM):在地类识别与遥感影像分类中的应用
  • Spark-SQL简介及核心编程
  • [AI ][Dify] 构建一个自动化新闻编辑助手:Dify 工作流实战指南
  • Spark-SQL核心编程(一)
  • Java 设计模式:组合模式详解
  • 体系结构论文(六十七):A Machine-Learning-Guided Framework for Fault-Tolerant DNNs
  • GpuGeek:重构AI算力基础设施,赋能产业智能升级
  • 大数据面试问答-批处理性能优化
  • 快速排序(非递归版本)
  • 【3D文件】可爱小鹿3D建模,3D打印文件
  • 五大生产模式(MTS、MTO、ATO、ETO、CTO)的差异
  • AIoT 智变浪潮演讲实录 | 刘浩然:让硬件会思考:边缘大模型网关助力硬件智能革新