JavaScript中的prototype和_proto_的关系是什么

news2024/10/2 6:29:40

JavaScript中的prototype和_proto_的关系是什么

  • __proto__ 是 JavaScript 中对象的一个内部属性,它指向该对象的原型。JavaScript 中每个对象都有一个 __proto__ 属性,通过它可以访问对象的原型。
  • prototype 是函数对象特有的属性,每个函数都有一个 prototype 属性,它指向一个对象,这个对象就是该函数的原型(这个原型对象包含了实例共享的方法和属性)。

​ 当使用 new 关键字创建一个实例时,这个实例的 __proto__ 就指向了构造函数的 prototype,这样一来,实例就可以访问构造函数原型对象上定义的方法和属性。

​ 简而言之,__proto__ 是对象上的属性,而prototype是函数对象上的属性。它们的关系在于:

​ 1、对象实例的 proto 属性指向其构造函数的 prototype。

​ 2、对象可以通过 proto 属性访问到原型链上的其他对象,包括 Object.prototype。

​ 3、函数对象的 prototype 属性用于定义构造函数的原型对象,这个原型对象包含了实例共享的方法和属性

1.一个重要的内置关系:VueComponent.prototype.__proto__ === Vue.prototype(这个vue原型对象包含了实例共享的方法和属性。)

2.为什么要有这个关系:让组件实例对象(vc)可以访问到 Vue实例的原型上的属性、方法。

在这里插入图片描述

	    //定义一个构造函数
		/* function Demo(){
			this.a = 1
			this.b = 2
		}
		//创建一个Demo的实例对象
		const d = new Demo()

		console.log(Demo.prototype) //显示原型属性

		console.log(d.__proto__) //隐式原型属性

		console.log(Demo.prototype === d.__proto__)  //这里返回的就是true

		//程序员通过显示原型属性操作原型对象,追加一个x属性,值为99
		Demo.prototype.x = 99

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

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

相关文章

蓝桥杯 1223 第 2 场 小白入门赛

蓝桥小课堂-平方和 模拟 1 2 2 2 3 2 ⋯ n 2 n ⋅ ( n 1 ) ⋅ ( 2 n 1 ) 6 1^22^23^2\cdotsn^2\dfrac{n\;\cdot\;(n 1)\;\cdot\;(2n1)}{6} 122232⋯n26n⋅(n1)⋅(2n1)​。 write(n * (n 1) * (n * 2 1) / 6);房顶漏水啦 m a x ( 最大的行 − 最小的行 , 最大的列 −…

DevC++ 用C语言的多线程 实现简单的客户端和服务器

知识来源一: 使用Dev-C实现简单的客户端和服务器-CSDN博客 此先生的博客使用的是win32 SDK来创建多线程,然后鄙人对这个版本的多线程细节不明。于是又重新用C语言的线程替代win32API,以此继续学习服务器代码。 知识来源二:DevC 多线程创建…

[Netty实践] 简单WebSocket服务实现

目录 一、介绍 二、依赖导入 三、基础类准备 四、Handler实现 五、WebSocketChannelInitializer实现 六、WebSocketServer实现 七、前端实现 八、测试 九、参考链接 一、介绍 关于WebSocket此处不进行过多介绍,本章主要着重通过Netty实现WebSocket通信服务…

在线客服系统:解决常见问题的实用工具与解决方案

市场得不断发展促使着消费者服务意识的觉醒,越来越多的消费者在购买产品的时候不仅看产品的功能、外观、性能,还关注品牌的服务质量。在线客服系统的出现帮助企业解决了客户服务难的问题。接下来,我们具体聊一聊在线客服系统能解决哪些问题&a…

每日一题——LeetCode888

方法一 个人方法: 交换后要达到相同的数量,那么意味着这个相同的数量就是两个人总数的平均值,假设A总共有4个,B总共有8个,那么最后两个人都要达到6个,如果A的第一盒糖果只有1个,那么B就要给出6…

铁山靠之——HarmonyOS基础 - 1.0

HarmonyOS学习第一章 一、HarmonyOS简介1.1 安装和使用DevEco Studio1.2 环境配置1.3 项目创建1.4 运行程序1.5 基本工程目录1.5.1 工程级目录1.5.2 模块级目录1.5.3 app.json51.5.4 module.json51.5.5 main_pages.json 二、TypeScript快速入门2.1 简介2.2 基础类型2.2.1 布尔值…

通过 Nginx 代理实现网页内容替换

突发奇想,用 Nginx 代理一个网站,把网站的一些关键字替换掉,蛮有意思的。 如下图: 一、编译安装 Nginx 一般 Nginx 中不包含 subs_filter 文本替换的模块,需要自己手动编译安装,步骤如下。 克隆 subs_fi…

linux cpu调度分析

一、cpu调度调试方法 echo 0 > /sys/kernel/debug/tracing/tracing_on echo > /sys/kernel/debug/tracing/trace echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb echo nop > /sys/kernel/debug/tracing/current_tracer echo sched_switch sched_wakeup s…

移除石子使总数最小(LeetCode日记)

LeetCode-1962-移除石子使总数最小 题目信息: 给你一个整数数组 p i l e s piles piles ,数组 下标从 0 0 0 开始 ,其中 p i l e s [ i ] piles[i] piles[i] 表示第 i i i 堆石子中的石子数量。另给你一个整数 k k k ,请你执行下述操作…

Win11右键菜单显示全部的方法

Win11右键菜单显示全部的方法:1. 用鼠标右键点击“开始”按钮(或者按WinX键),选择点击 “Windows 终端(管理员)”。 2.在终端应用程序里粘贴这串代码【reg.exe add “HKCU\Software\Classes\CLSID{86ca1aa…

实现一个最简单的内核

更好的阅读体验,请点击 YinKai s Blog | 实现一个最简单的内核。 ​ 这篇文章带大家实现一个最简单的操作系统内核—— Hello OS。 PC 机的引导流程 ​ 我们这里将借助 Ubuntu Linux 操纵系统上的 GRUB 引导程序来引导我们的 Hello OS。 ​ 首先我们得了解一下&a…

burpsuite与sqlmap联动(sqlipy配置)

首先我们需要在burpsuite的 扩展-选项 里配置两个路径: 第一个路径为 jython-standalone-2.7.3.jar 的路径 这个jar文件我们需要自己下载,下载地址:https://www.jython.org/ 点击 download 点击 Jython Standalone 下载好之后将这个jar文件…

Django之DRF框架三,序列化组件

一、序列化类的常用字段和字段参数 常用字段 字段名字段参数CharFieldmax_lengthNone, min_lengthNone, allow_blankFalse, trim_whitespaceTrueIntegerFieldmax_valueNone, min_valueNoneFloatFieldmax_valueNone, min_valueNoneBooleanFieldNullBooleanFieldFloatFieldmax_…

基于Python的音乐数据可视化与推荐系统开发

基于Python的音乐数据可视化与推荐系统开发 导言: 音乐是人们生活中不可或缺的一部分,而对于音乐数据的收集、分析和可视化正逐渐成为技术领域的热点。本文介绍了一款基于Python开发的音乐数据可视化与推荐系统,通过爬取千千音乐网站的数据&a…

C# 实现虚拟数字人

随着Ai技术的提升和应用,虚拟数字人被广泛应用到各行各业中。为我们的生活和工作提供了非常多的便利和色彩。 通过设置虚拟数字人的位置大小,可以让数字人可以在电脑屏幕各个位置显示: 虚拟数字人素材: 虚拟数字人(实际有语音&am…

双向A*算法-python

GitHub - LittleFox99/B_A_star: Bidirectional A Star 其中a,b分别为双向A*搜索的权重 #-*- coding:utf-8 -*- # Time : 2020/11/11 1:21 下午 # Author : LittleFox99 # File : a_star.py # 参考: # https://blog.csdn.net/lustyoung/article/d…

前缀和+单调双队列+贪心:LeetCode2945:找到最大非递减数组的长度

本文涉及知识点 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 单调双队列 贪心 题目 给你一个下标从 0 开始的整数数组 nums 。 你可以执行任意次操作。每次操作中,你需要选择一个 子数组 ,并将这个子数组用它所…

资深13年测试整理,性能测试指标-评估方法,一篇搞懂...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、软件性能的关注…

深入探讨DNS数据包注入与DNS中毒攻击检测 (C/C++代码实现)

DNS数据包注入和DNS中毒攻击是网络安全领域中的两个重要主题。DNS(域名系统)是互联网中的一项核心服务,负责将域名转换为与之相对应的IP地址。 DNS数据包注入是指攻击者通过篡改或伪造DNS请求或响应数据包来干扰或破坏DNS服务的过程。攻击者…

webots仿真报警[ERROR] [1703399199.459991029]: Sampling period is not valid.

一、故障现象 在运行interace传感器使能程序时,报警[ERROR] [1703399199.459991029]: Sampling period is not valid. [ERROR] [1703399199.460080083]: Failed to enable lidar.并发生崩溃。 二、解决方式 1、尝试将程序中的TIME_STEP数值改为与WOrldInfo中的bas…