大厂面试经典问题:什么是继承 ?JavaScrpt中如何通过原型链实现继承 ?

现代桌宠:从桌面装饰到轻量级交互终端的进化与应用 桌面宠物作为轻量级交互节点,通过事件驱动模型实现状态响应和环境感知。其技术价值在于将系统状态可视化与快速操作触发相结合,形成低干扰的桌面交互方案。在工程实践中,桌宠可作为工作状态监控助手和自动化流程的前端界面,通过脚本集成扩展功能。以菜月昴桌宠为例,它通过鼠标点击响应和系统资源监控,实现了从单向展示到双向互动的进化。这种轻量级自动化工具特别适合需要多任务处理的开发者和办公场景,既能提升效率又能保持桌面环境的趣味性。 阅读详情

有同学提问,能不能讲讲继承,这一篇笔记就来深入说说继承相关的内容,包含了什么是继承,JavaScript如何实现继承,通过原型链实现继承。
什么是继承 ?JavaScript中如何通过原型链实现继承 ?

以下我们先使用UML类图来表示类的属性和方法,用以举例说明

UML(统一建模语言)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。

UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

以下两个无关的类:我们发现,People类 和 Car类 没有任何

People类和Student类的关系:我们发现,Student是一种 People

  • People类拥有的属性和方法Student类都有,Student类还扩展了一些属性和方法

  • Student “是一种” People,两类之间是 “is a kind of ”关系

  • 这就是继承关系:Student 类继承自People类

1、什么是继承

继承描述了两个类之间的 “ is a kind of ” 关系比如:学生“是一种”人,所以人类和学生类之间就构成继承关系People是 "父类"(或 "超类"、”基类“)Student是 ”子类“(或 ”派生类“)子类丰富了父类,让类描述得更具体、更细化。


在UML图示中使用白色的空心箭头来表示类和类之间的继承关系箭头的方向是由子类指向父类这样的表达方式就是继承

更多的继承关系举例

父类子类
PeopleStudent、Teacher
VehicleCar、Truck、Motorcycle
ApplianceTelevision、Refrigerator
PublicationBook、Magazine

JavaScript中如何实现继承?

  • 实现继承的关键在于:子类必须拥有父类的全部属性和方法,同时子类还应该能定义自己特有的属性和方法

  • 使用JavaScript特有的原型链特性来实现继承,是普遍的做法

  • 在今后学习ES6时,将介绍新的实现继承的方法

通过原型链实现继承

 当然还有在ES6中如何实现继承,后续有需求了再分享 !大家也可以踊跃提问哈 ,一起加油 ^_^我们学的不仅是技术,更是梦想 !因为爱,所以认真 。如有相关前端方面的技术问题 ,欢迎主页添加我,我会定期在群里给大家分享最新技术和解答问题 。

Sigrity System SI SerialLink模式进行Pcie3协议仿真分析操作指导-pcie3_client_single_pre Sigrity System SI SerialLink模式提供了10个协议合规性检查工具模板,用户可以将根据实际应用替换模板中的SPICE文件,然后进行协议仿真分析,同时软件还提供了目标结果的模板MASK以及该协议需要检查的项目,通过协议分析视为满足设计要求,下面介绍pcie3_client_single_pre仿真分析,具体操作如下。Random(Rj):随机抖动,该抖动用高斯概率分布来描述,通常是由热噪声和其它随机噪声引起的,默认为1.24%UI RMS(平均值),即和标准值的偏差为1.24%UI。 阅读详情

相关推荐

【高低温试验】试验报告模板

高低温循环试验,验证被测设备(DUT)在极端高温、低温环境下的性能稳定性、功能可靠性及安全性,确保其符合设计规范和相关标准(如GB/T 2423.1、GB/T 2423.2)。:验证设备在剧烈温度变化下的耐受能力(如-40℃↔+85℃,温变速率≥10℃/min)。低温测试标准:GB/T 2423.2-2008(温度-40℃,保持时间4小时):模拟高温高湿环境(如温度+60℃,湿度95%RH),测试防潮性能。

电路巫师把一切不可能变成不可能 1565

JavaScript 原型链和继承面试题

JavaScript 原型链和继承问题 JavaScript 中没有类的概念的,主要通过原型链来实现继承。通常情况下,继承意味着复制操作,然而 JavaScript默认并不会复制对象的属性,相反,JavaScript只是在两个对象之间创建一个关联(原型对象指针),这样,一个对象就可以通过委托访问另一个对象的属性和函数,所以与其叫继承,委托的说法反而更准确些。 原型 当我们 new 了一个新的对象实例,明明什么都没有做,就直接可以访问 toString 、valueOf 等原生方法。那么这些方法是从哪里来的

木木木森林 3814

STM32+CubeMX实战:5步搞定LWIP HTTP服务器搭建(附常见编译错误解决)

本文详细介绍了基于STM32和CubeMX平台,快速搭建LWIP HTTP服务器的5步实战指南。内容涵盖从项目初始化、LWIP深度配置到解决经典的`HTTPD_FSDATA_FILE`编译错误,并分享了使用VSCode进行高效开发的工作流,旨在帮助嵌入式开发者快速实现网络功能并规避常见陷阱。

weixin_29192365的博客 575

面试必备系列(一):原型链与继承

js的继承没有多么神秘,本质上,它的存在就是为了帮助我们复用属性和方法,并将所有对象联系起来。 一切为了简化 Brendan Eich开始设计js的时候,正值面向对象编程兴盛,受此影响,js里面的所有数据类型都是对象(准确地说,是所有引用类型)。由于最初对js的定位就是一种脚本语言,Brendan Eich希望设计得简单一点,在设计继承机制时,没有引入类的概念,而是使用new + 构造函数的方式,...

TinaSlowDown的博客 866

AI应用架构师:引领半导体良率AI预测的变革浪潮

在半导体行业这个技术密集、资本密集且竞争异常激烈的领域,良率是决定企业盈利能力的关键指标。每提升1%的良率可能意味着数亿美元的利润增长。然而,随着制程节点不断缩小至3nm、2nm甚至更先进水平,传统的良率管理方法已难以应对日益复杂的制造流程和指数级增长的数据量。本文将深入探讨AI应用架构师如何成为这场变革的核心驱动力,通过设计和实施先进的AI预测系统,将半导体良率预测从传统的"事后分析"转变为"事前预测"和"实时优化"。

AI大模型应用之禅 403

吹气压力传感器US6310 US6330调试

更换压力传感器, 从US6310 更换为US6330。 6310有一个准备好引脚,AD转换完成后会给MCU一个脉冲 而6330就没有这个功能,6330这个引脚是用来选择SPI还是I2C接口的。(6330没有复位引脚,内部有POR功能) 因此在实现上是有根本区别的, 其它方面使用的命令也不一样, 6310 A8 A9两条命令,一个命令模块醒来,一个命令模块休眠, 6330只有一条命令AA, 命令模块开始转换。 针对这2个模块作为2种处理方法, 1. 6310,可以设置一...

明天乌儿会歌唱 2026

JavaScript面试题-javascript如何实现继承?

javascript如何实现继承 类式继承 将父类对象的实例赋值给子类的原型,则子类的原型可以访问父类原型上的属性和方法,以及父类构造函数中复制的属性和方法。 缺点: 子类通过其原型prototype对父类实例化,继承了父类。但当父类中的共有属性是引用类型时,会在子类中被所有的实例共用,如此在一个子类实例中更改从父类中继承过来的公有属性时,会影响到其他子类。 由于子类是通过原型prototy...

weixin_44486539的博客 557

W25N01GV SPI NAND Flash驱动开发避坑指南:详解2KB缓冲区机制与状态寄存器正确用法

本文深入解析W25N01GV SPI NAND Flash芯片的2KB缓冲区机制与状态寄存器正确用法,提供STM32 HAL和ESP-IDF项目的实战解决方案。涵盖双阶段操作原理、状态寄存器深度解析、时序控制优化及跨平台驱动设计要点,帮助开发者避免常见错误并提升存储性能。

aizhouqian5537的博客 640

面试题:对于原型和继承的理解

前言:js基础中很重要的一部分内容,前端面试必问题目。主要从以下几个方面讲讲原型和继承(讲的很浅薄,只适合初学者瞅瞅,大佬求放过) 构造函数和普通函数 [[protoptype]]和prototype([[prototype]]也可以叫做__proto__) 原型、原型链、原型对象 继承的六种方式 一、构造函数和普通函数 说到原型,一定离不开构造函数...

iblackboy的博客 3255

【Scrapy】Scrapy教程4——命令行工具

Scrapy支持使用模块设置自己的项目命令。如何实现可参考的实践方法。然后在项目的settings文件中配置来添加自定义命令。以上就是对Scrapy命令行工具的说明,有不明确的地方,可参考官方文档欢迎大家在各大平台关注我,我会不定期发布技术相关文章和各种小工具,并且欢迎共同技术探讨!

jayhgq的博客 1251

实战MSP-M0G3507与陶晶驰串口屏的通信协议解析

本文详细解析了MSP-M0G3507微控制器与陶晶驰串口屏的通信协议实现。内容涵盖串口配置、协议帧结构、数据校验机制及ASCII协议实战代码,重点介绍了陶晶驰串口屏的指令集应用和调试技巧,为嵌入式开发提供可靠的串口通信解决方案。

h9j8k7l6m5n的博客 868

JS 常见的 6 种继承方式

探究 JS 常见的 6 种继承方式 第一种:原型链继承 原型链继承是比较常见的继承方式之一,其中涉及的构造函数、原型和实例,三者之间存在着一定的关系,即每一个构造函数都有一个原型对象,原型对象又包含一个指向构造函数的指针,而实例则包含一个原型对象的指针。 function Parent1() { this.name = 'parent1' this.play = [1, 2, 3] } function Child1() { this.type = 'child1' } Child1.pro

💻 Code:TypeScript / Engineering 🤖 AI:Prompt Optimization / Context Memory / Coding Agents 5872

一个Android应用层开发如何转型深入Android Framework?

不知何时起,单纯的Android应用层开发越来越少了,主流技术演变也越来越快,从之前的rxjava到如今的协程,从之前MVC到如今的MVVM,还有Flutter、Compose等技术,可以说是日新月异。

m0_64420071的博客 1914

JS学习笔记 原型链和利用原型实现继承

原型链原型链是一种关系,实例对象和原型对象之间的关系,关系是通过原型(__proto__)来联系的实例对象中有__proto__,是对象,叫原型,不是标准的属性,浏览器使用,并且有的游览器不支持构造函数中有prototype属性,也是对象,叫原型注意 原型中的方法是可以互相访问的实例代码 function Animal(name,age){ this.name=name; ...

倪晓磊的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【面试题】什么是继承

继承是面向对象中的一个非常中要的的特性。通过继承,子类可以使用父类中的一些成员变量与方法,从而能够提高代码的复用性,提高开发效率。在Java语言中,被继承的类叫基类(superclass)或父类,继承基类或父类的类叫派生类或子类(subclass)。继承是通过extends关键字来实现的,使用格式为:class 子类名 extends 父类名。 继承主要有如下几个特性: Java语言不支持多重继...

风信子 1430

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

前端面试题:继承的实现

这个是让我崩溃的那个面试题,不是说这个题有多难,而是说自己粗心吧,只是简单的看了实现继承的方式有原型继承,构造函数继承,组合继承,class继承,但是怎么实现的都不知道。昨天面试完总结了一下,索性就把它写成文章,分享加自我回顾。 1、原型链继承 首先说的继承就是原型链的继承,因为在问我继承前先问了原型和原型链,原型链的集成有什么特点呢,就是子类的prototype指向父类的一个实例。这样的话子类没有的属性方法会在他的原型中去找到,就是说子类的实例的__proto__会指向父类的实例,这个时候就可以拿到父

欢迎来到我的博客 1480

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

【重点】图解:告诉面试官什么是 JS 原型和原型链?

写在前边 在我初学 JS 语言的继承机制原型和原型链的时候,我一直理解不了这种设计机制,再加上之前原有对 Java继承的理解,在学习 JS 继承机制的设计上踩了一个大坑,很多知识点前期都是死记硬背,无法真正的理解它的设计思想。 JS 中的继承机制思想可以说是学习 JS 的一个核心思想,更可以说是 JS 中的一个命脉,往往这些复杂、抽象的继承关系,以及专业术语、代名词确成为了困扰初学者的绊脚石。当...

小鹿动画学编程 7546

面试官:谈谈你对原型和原型链的理解

金三银四的旺季即将拉开序幕,这段时间有朋友陆陆续续去面试,和她们沟通发现,最高频出现问题就是:谈谈你对原型和原型链的理解? 无形之刃 最为致命。 ——影流之主 一个看似最最最基础的面试题,但是这送分题,回答的不好可能就变成了送命题。接下来就让我们一起来探讨探讨~ 基于原型的语言? JavaScript 常被描述为一种基于原型的语言 (prototype-based language)——每个实例对象( object )都有一个私有属性(称之为 proto )指向

Tz 4730

关于原型 /原型链/ 继承/ 的面试题

                                不说废话了,直接上代码function Foo(){ getName=funtion(){ alert(1) } return this; } Foo.getName=function(){ alert(2) } Foo.prototype.getName=function(){ alret(3) } var getName=fun...

AnlanJion的博客 1560

前端面试必杀技:原型、原型链以及继承(一张图搞定面试)

对象基础 对象介绍 什么是对象 多个数据(属性)的集合; 用来保存多个数据(属性)的容器; 属性组成 属性名:字符串(标识); 属性值:任意类型; 属性的分类: 一般:属性值不是function,描述对象的状态; 方法:属性值为function的属性,描述对象的行为; 特别的对象 数组:属性名是0,1,2,3之类的索引; 函数:可执行的; 对象是一种复合数据类型...

weixin_33787529的博客 2607

Web 版翻译者资料库

本项目是桌面版《翻译者资料库》的 Web 移植版,基于 Spring Boot 3.3、Thymeleaf、Bootstrap 5.3 与 MySQL 8.0 构建。它面向翻译写作提供资料、词汇、句库、文本工具、对照制作、查找、备份恢复及旧库迁移等功能,完整继承桌面版核心业务规则,支持一键启动与离线访问。

howard2005的专栏 150

Jackson 序列化 / 反序列化注解 完整版笔记

Jackson 序列化 / 反序列化注解 完整版笔记

handsome_sai的博客 305

MCP 协议会成为前端 AI 工程的标准接口吗?

MCP(Model Context Protocol)正在成为连接 AI 模型与外部工具、数据源的一层通用协议。本文从 MCP 的核心机制出发,分析它在浏览器与前端工程中的落地边界,讨论它能否成为前端 AI 工程的标准接口,并给出当下更务实的架构选择建议。

m0_62937412的博客 385

LangGraph 本地 build 频频翻车,最终在服务器跑通流式对话

先说结论:我本地那个,一次都没成功过。三次,三次,全挂在拉镜像上。而顺得像刚上过油。这就很像我高中那辆自行车:骑着能走,一上锁就坏。那天晚上我盯着终端里那行红字看了很久,想的不是技术方案,想的是——为什么同一个工具,可以一边让我觉得自己很行,一边让我觉得自己不太行。

人工智能AI技术 319

带着小白学习-微服务-6 实战:网关

地址栏输入:http://localhost:8088/goods/index,这时候就不是到8100端口去调用了,而是8088直接通过路由转发,分别到nacos对应的goods对应的服务中区调用。** 可以看出,这里将前面已经正常运行的server-store子工程(库存服务,服务提供方),server-goods子工程(商品服务,服务消费方)。(1)uri: lb://store 代表要到nacos的注册中心的服务列表中找到服务名为store的微服务;,网关是做路由转发,不是服务调用;

wdyan297的博客 229

海外平台频繁弹验证?从 DNS、WebRTC 到浏览器指纹的环境异常排查清单

在运营多地区海外平台账号时,即使代理节点通畅、TCP 握手成功,仍可能遇到频繁人机验证、地区限制、播放失败等异常。核心结论是:这类问题往往不在网络传输层,而在浏览器环境参数与网络出口之间的逻辑自洽性。本文从 DNS 泄漏、WebRTC 穿透、时区与语言匹配、Canvas/WebGL 指纹、TLS 特征五个维度,给出一份可复现的环境异常排查清单,并对比个人手动配置与工程化环境管理方案的适用边界。适用于跨境运营、多账号运维团队。

P1Browser【p1指纹浏览器】的博客 224
上一篇: 大厂node.js高级阶段面试题和答案,重点难点攻克
下一篇: Web前端面试敲重点知识,14个TypeScript核心基础面试题和答案
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾编程前端技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值