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

构造函数的原型原型链

代码示例

// 定义一个构造函数 Test
function Test() {this.name = '张三'
};
//向构造函数的原型添加一个属性 age=18
Test.prototype.age = 18;//使用构造函数 Test 来实例化一个新对象
const test = new Test();//向 Object.prototype 添加了一个名为 sex 的属性,其值为 '男'
Object.prototype.sex = '男';/*** 原型链就是,以一个对象为基准,以__proto__为链接的这条链条,一直到 Object.prototype 为止到这条链叫原型链* * test{*  name: '张三'*  __proto__: Test.prototype{*      age: 18*      __proto__:Object.prototype{*          sex: '男',*          __proto__: null *      }*  }}*/console.log(test.name);//张三
console.log(test.age);//18
console.log(test.sex);//男
console.log(test.dream);//undefined
console.log(Object.prototype.__proto__)// null

代码理解

  1. 定义了一个构造函数Test ,它会在被调用时给新创建的对象添加一个名为name的属性,并将其的值设为“张三”
  2. 向构造函数的原型(Test.prototype)添加一个名为age的属性,值为18。通过 new Test() 创建的实例都会继承这个age属性,除非它们自身覆盖了这个属性。
  3. new Test() 创建了一个新的对象 test,它拥有自己的name 属性,同时也继承了来自Test.prototype age 属性。
  4. 修改了 Object.prototype ,为其添加了一个名为 sex 的属性,其值为 '男'

原型链理解

test 对象的原型链结构。test.__proto__ 指向的是Test.prototype,而 Test.prototype.__proto__ 则指向 Object.prototype。最后Object.prototype.__proto__ null,表示原型链的末端。

综上所述我们可以理解原型链就是:

每个对象都有一个__proto__属性,它指向另一个对象,这个对象称之为对象的原型。当试图访问对象的属性时,javascript 引擎不仅会查找该对象自身拥有的对象,还会沿着__proto__向上查找,直到找到该属性或者到达原型链末端(即null)。即原型链就是,以一个对象为基准,以__proto__为链接的这条链条,一直到 Object.prototype 为止到这条链叫原型链

概念

原型(prototype):是所有由构造函数创建的实例共享的对象,包含了可以被这个实例访问的方法和属性。
__proto__:是对象的内部属性,指向创建它的构造函数的prorotype
原型链 :以对象为基准,以__proto__为链接的这条链条,一直到 Object.prototype 为止到这条链叫原型链。

相关文章:

构造函数的原型原型链

代码示例 // 定义一个构造函数 Test function Test() {this.name 张三 }; //向构造函数的原型添加一个属性 age18 Test.prototype.age 18;//使用构造函数 Test 来实例化一个新对象 const test new Test();//向 Object.prototype 添加了一个名为 sex 的属性,其值…...

nginx反向代理及负载均衡

华子目录 nginx反向代理功能http反向代理反向代理配置参数proxy_pass的注意事项案例:反向代理单台后端服务器案例:反向代理实现动静分离案例:反向代理的缓存功能非缓存场景下测压准备缓存缓存场景下测压验证缓存文件 反向代理负载均衡&#x…...

单片机实物成品-011 火灾监测

火灾监测(20个版本) 版本20: oled显示温湿度烟雾浓度火焰传感器天然气浓度窗户风扇水泵排气系统声光报警语音播报按键WIFI模块 ----------------------------------------------------------------------------- https://www.bilibili.com…...

使用 Docker 在 Alpine Linux 下部署 Caddy 服务器

简介 在现代 web 开发中,选择合适的 web 服务器至关重要。Caddy 是一个功能强大的现代化 HTTP/2 服务器,支持自动 HTTPS,配置简单,适合开发和生产环境。Docker 则为我们提供了一种轻量级的容器化技术,使得应用程序的部…...

每日十题八股-2025年1月12日

1.为什么四次挥手之后要等2MSL? 2.服务端出现大量的timewait有哪些原因? 3.TCP和UDP区别是什么? 4.TCP为什么可靠传输 5.怎么用udp实现http? 6.tcp粘包怎么解决? 7.TCP的拥塞控制介绍一下? 8.描述一下打开百度首页后发生的网络过…...

Python中定位包含特定文本信息的元素

目录 一、为什么需要定位包含文本信息的元素 二、使用Selenium定位包含文本的元素 1. 使用find_element_by_link_text 2. 使用find_element_by_partial_link_text 3. 使用XPath定位包含文本的元素 4. 使用CSS选择器定位包含文本的元素 三、使用BeautifulSoup定位包含文本…...

uniapp实现H5页面内容居中与两边留白,打造类似微信公众号阅读体验

在 UniApp 中,由于需要兼容多端应用,我们通常使用 rpx 作为尺寸单位。然而,在某些情况下,如需要实现内容居中且两边留白时,直接使用 rpx 可能会带来一些限制。这时,我们可以考虑使用 px 或 rem 等单位&…...

极品飞车6里的赛道简介

极品飞车里有很多赛道,赛道分为前向赛道Forward、后向赛道Backward。前向赛道Forward是从A点到B点;后向赛道Backward是前向赛道的逆过程,即从B点到A点。这里介绍极品飞车6的赛道长度、中英文名称翻译、难度等级。 序号赛道英文名赛道中文名总长(km)急弯难度等级1Alpine Trai…...

SAP推出云端ERP解决方案,加速零售行业数字化转型

2025年1月9日,SAP发布了一款专为零售行业设计的云端ERP行业解决方案——S/4HANA Cloud Public Edition,进一步推动企业向云端迁移。这款解决方案旨在集中运营数据,整合财务、采购和商品管理流程,以帮助零售企业优化运营效率。 核…...

Python爬虫进阶——案例:模拟bilibili登录)

主要内容:模拟bilibili账号密码登录,不要实现的的实现功能是单击登录按钮,切换登录方式, 输入账号和密码,然后完成图片点击验证,最后单击立即登录按钮。 1、第一步:通过selenium模块访问bilibi…...

什么是数据分析?

什么是数据分析? 数据分析(Data Analysis)是指通过对数据进行收集、整理、处理、建模和解读,以揭示数据中的有用信息、支持决策和解决实际问题的过程。它是一门将数据转化为知识的学科,广泛应用于商业、科学研究、医疗…...

基于springboot的课程作业管理系统源码(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的课程作业管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 可以管理首页、个人中心…...

多线程之旅:属性及其基本操作

上次分享到了,多线程中是是如何创建的,那么接下来,小编继续分享下多线程的相关知识。 多线程中的一些基本属性。 基本属性 属性获取方法IDgetId()名称getName()状态getState()优先级getPriority()是否后台线程isDemo()是否存活isAlive()是…...

数据表中的数据插入、更新和删除

文章目录 一、表的插入二、更新表中的数据记录三、删除表中的数据记录 一、表的插入 插入数据记录是常见的数据操作,可以显示向表中增加的新的数据记录。在MySQL中可以通过“INSERT INTO”语句来实现插入数据记录,该SQL语句可以通过如下4种方式使用&…...

Q_OBJECT宏报错的问题

在Qt中继承QObject,并且加上Q_OBJECT宏,有时候会报错,比如我的错误: error: debug/httpmgr.o:httpmgr.cpp:(.rdata$.refptr._ZTV7HttpMgr[.refptr._ZTV7HttpMgr]0x0): undefined reference to vtable for HttpMgr 意思是没有虚…...

提升性能300ms:深入解析Spring多表联接查询优化与SQL调优实战

优化所需知识点(必须掌握) 索引篇 explain命令 重点:这是后续分析是否使用索引以及使用是否恰当的工具 作用:查看sql的执行计划,可以看sql语句是否使用了索引,索引的使用情况,以及sql的性能。 …...

增量导入和全量导入的区别是什么?

定义 全量导入:是指将数据源中的所有数据一次性全部导入到目标系统中。例如,一个电商公司要将其旧数据库中的所有商品信息(包括商品名称、价格、库存等)全部迁移到新的数据库系统中,这个过程就是全量导入。这种方式会覆…...

【百度智能云客悦智能客服】搭建AI agent智能对话 - 购车推荐

前期准备 平台链接:https://keyue.cloud.baidu.com/ 一、开始创建 二、会话流程配置 我们以购车推荐的案例,来进行 AI agent 配置演示 1.添加开场白 在 起始主题 画布中,我们可以配置 AI agent 的开场白,画布左侧默认有 开始 …...

【HTML+CSS+JS+VUE】web前端教程-3-标题标签

标题介绍与应用 标题是通过<h1>-<h6>标签进行定义的 <h1>定义最大的标题 <h6>定义最小的标题<h1...

逐笔成交逐笔委托Level2高频数据下载和分析:20250102

level2逐笔成交逐笔委托下载 链接: https://pan.baidu.com/s/1p7OOj5p-QGFrWkt6KKoYng?pwd7f4g 提取码: 7f4g Level2逐笔成交逐笔委托数据分享下载 通过Level2逐笔成交和逐笔委托这种每一笔的毫秒级别的数据可以分析出很多有用的点&#xff0c;包括主力意图&#xff0c;虚假动…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解&#xff0c;适合用作学习或写简历项目背景说明。 &#x1f9e0; 一、概念简介&#xff1a;Solidity 合约开发 Solidity 是一种专门为 以太坊&#xff08;Ethereum&#xff09;平台编写智能合约的高级编…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

MySQL的pymysql操作

本章是MySQL的最后一章&#xff0c;MySQL到此完结&#xff0c;下一站Hadoop&#xff01;&#xff01;&#xff01; 这章很简单&#xff0c;完整代码在最后&#xff0c;详细讲解之前python课程里面也有&#xff0c;感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备&#xff0c;并且图标都没了 错误案例 往上一顿搜索&#xff0c;试了很多博客都不行&#xff0c;比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动&#xff0c;重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

WebRTC调研

WebRTC是什么&#xff0c;为什么&#xff0c;如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...