深入解析JavaScript的原生原型

news2025/1/9 17:17:54

🧑‍🎓 个人主页:《爱蹦跶的大A阿》

🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》

​ 

✨ 前言

        在JavaScript中,除了自定义对象,还存在很多由JavaScript语言本身提供的原生对象。这些原生对象同样基于原型继承机制,拥有自己的原型。

        理解原生对象的原型非常重要,可以让我们正确使用这些内置对象,也有助于进一步理解JavaScript的原型继承系统。

        本文将详细解析原生对象的原型结构,揭开一些常见原生对象原型的神秘面纱。

✨ 正文

一、Object的原型

Object是所有对象的父对象,其原型就是原型链的终点:

Object.prototype.__proto__ === null; // true

Object原型上定义了所有对象共享的方法,比如toString、valueOf等。

二、Function的原型

Function是所有函数的构造函数,其原型链是:

Function.prototype -> Object.prototype -> null

 Function原型上定义了apply、call、bind等方法。

三、Array的原型

数组对象Array的原型链是:

Array.prototype -> Object.prototype -> null

Array原型上定义了所有数组共享的方法,比如push、pop等。

四、RegExp的原型

正则表达式对象RegExp的原型链是:

RegExp.prototype -> Object.prototype -> null

 RegExp原型上定义了正则对象的matcher等方法。

五、内置函数的原型

一些内置函数如decodeURI、isNaN等它们的原型是:

decodeURI.prototype -> Function.prototype -> Object.prototype -> null

六、普通对象的原型

普通对象使用Object构造函数创建,其原型链是:

{}.__proto__ -> Object.prototype -> null

 

✨ 结语

        学习原生对象的原型关系,有助于我们在日常开发中正确理解和使用这些JavaScript内置对象,避免一些常见陷阱。

        原生对象的原型也是JavaScript作为一门原型继承语言的重要组成部分。充分理解原型系统是掌握JavaScript语言的关键。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1393785.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【分布式技术】分布式存储ceph之RGW接口

目录 1、对象存储概念 2、创建 RGW 接口 //在管理节点创建一个 RGW 守护进程 #创建成功后默认情况下会自动创建一系列用于 RGW 的存储池 #默认情况下 RGW 监听 7480 号端口 //开启 httphttps ,更改监听端口 #更改监听端口 ​ //创建 RadosGW 账户 …

鸿蒙OS4.0兼容性测试

背景 OpenHarmony兼容性测评主要是验证合作伙伴的设备和业务应用满足OpenHarmony开源兼容性定义的技术要求,确保运行在OpenHarmony上的设备和业务应用能稳定、正常运行,同时使用OpenHarmony的设备和业务应用有一致性的接口和业务体验。 OpenHarmony兼容…

cesium内部相同坐标在不同高度的2个点的属性机制坐标会gltf模型角度值异常问题mars3d的处理办法

模型一直向上运动的正常效果: 问题场景: 1.new mars3d.graphic.ModelPrimitive({使用addDynamicPosition(设置并添加动画轨迹位置,按“指定时间”运动到达“指定位置”时发现,如果是同一个点位不同高度值的y轴竖直向上方向的运动…

2024年华数杯国际赛A题:放射性废水处理建模 思路模型代码解析

2024年华数杯国际赛A题:放射性废水处理建模(Radioactive Wastewater from Japan) 一、问题描述 2011年3月,日本东海岸发生了地震,引发了福岛第一核电站事故,导致三个核反应堆熔毁,并在一场巨大…

Verilog刷题笔记16

题目: Since digital circuits are composed of logic gates connected with wires, any circuit can be expressed as some combination of modules and assign statements. However, sometimes this is not the most convenient way to describe the circuit. Pro…

C# dataGridView 列的勾选框改变事件

dataGridView 增加一列 DataGridViewCheckBoxColumn 然后设置复选框值如下图: dataGridView增加两个事件 private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e){//提交改变,触发dataGridView1_CellValueChanged事件&…

【数学建模】2024年华数杯国际赛B题-光伏发电Photovoltaic Power 思路、代码、参考论文

1 问题背景 中国电力构成包括传统能源(如煤炭、石油、天然气)、可再生能源(如水电、风能、太阳能、核能)和其他形式的电力。这些发电模式在满足中国巨大的电力需求方面发挥着至关重要的作用。据最新数据显示,中国总发电量超过20万亿千瓦时,居世界第一。…

短信系统搭建主要因素|网页短信平台开发源码

短信系统搭建主要因素|网页短信平台开发源码 随着移动互联网的快速发展,短信系统已成为企业和个人进行信息传递的重要工具。建立一个高效可靠的短信系统对于企业来说非常重要。下面我们将介绍一些影响短信系统搭建的主要因素。 1. 平台选择:在搭建短信系…

嵌入式开发--STM32G4系列片上FLASH的读写

这个玩意吧,说起来很简单,就是几行代码的事,但楞是折腾了我大半天时间才搞定。原因后面说,先看代码吧: 读操作 读操作很简单,以32位方式读取的时候是这样的: data *(__IO uint32_t *)(0x080…

图片太模糊我们怎么提高清晰度呢

在数字时代,图片是我们日常生活中不可或缺的一部分。然而,有时候由于各种原因,我们得到的图片清晰度可能并不理想。这篇文章将介绍三款软件,帮助你提高图片的清晰度,让你的图片更加生动、清晰。 一、水印云 水印云是…

Qt网络通信

1. UDP通信 1.1 udp通信的基本流程 创建套接字 绑定套接字 进行通信 关闭套接字 涉及到的类和信号 QUdpSocket:Udp套接字类,类对象就是一个udp套接字对象 QHostAddress:ip地址类 void readyRead():信号,当有数据到达可…

码住!软件测试人员的基本有哪些?

在软件测试领域,许多人误以为软件测试只是简单的点点鼠标、看看屏幕就能完成。然而,软件测试的复杂性远不止于此。作为一名软件测试人员,你需要具备多项技能和素质来保证测试的有效性和质量。 打字技能可以事半功倍 打字是软件测试人员必备的…

2024年网络安全比赛--内存取证(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1.从内存文件中找到异常程序的进程,将进程的名称作为Flag值提交; 2.从内存文件中找到黑客将异常程序迁移后的进程编号,将迁移后的进程编号作为Flag值…

能做鬼脸、摇滚、自拍,听懂你说的话!GPT-4驱动的实体机器人

东京大学的研究人员将GPT-4模型,集成在实体机器人Alter3中,可将文本、语言直接转化成机器人动作,例如,做一个自拍动作;装一个“鬼样”;做一个摇滚音乐动作等,就连微笑、眨眼这样的面部表情动作也…

IOS-UIAlertController简单使用-Swift

UIAlertControlle时IOS的对话框控制器(警报控制器),简单使用方法如下: 步骤都一样,先是创建UIAlertController,然后创建UIAlertAction,再将UIAlertAction添加到UIAlertController中,…

SpringBoot项目中添加证书授权认证

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、项目场景二、方案思路三、实施流程1.引入库2.编写代码 四、拓展 一、项目场景 在上线的项目中,需要添加一个定时授权的功能,对系统的进…

Springboot 子工程构建完后无法找到springboot依赖

问题: 构建完子工程后无法找到SpringBootTest 解决方案: 最好用这个构建 https://www.cnblogs.com/he-wen/p/16735239.html 1.先观察项目目录 是否正确 2.观察子工程目录 3.看pom.xml中是否引用springboot依赖 4.检查代码 查看父项目是否包含子模块 查看子模块的父项目是否…

OB SQL引擎和存储引擎

文章目录 一 SQL引擎1.1 双模共存1.2 基本操作1.3 查看SQL的执行计划 二 存储引擎2.1 传统数据库存在的问题2.2 LSM-Tree存储2.3 OceanBase转储和合并2.4 控制内存数据落盘2.5 LSMTree存储压缩 三 备份恢复3.1 物理备份系统架构3.2 物理恢复系统架构 一 SQL引擎 1.1 双模共存 …

网安-入门永恒之蓝/黑

永恒之蓝 实验环境:win7,kali 实验目的:拿到win7管理员权限 扫描该网段 nmap -sP 192.168.164.0/24,查看win7ip,也可在win7上查询 扫描端口,445,永恒之蓝是通过445端口进行攻击的 masscan -…

个人网站制作 Part 8 添加电子邮件通知与社交媒体集成 | Web开发项目

文章目录 👩‍💻 基础Web开发练手项目系列:个人网站制作🚀 添加电子邮件通知🔨使用Nodemailer🔧步骤 1: 安装Nodemailer 🚀 社交媒体集成🔨使用社交媒体API🔧步骤 2: 集成…