新风格网站做文学网站需要

news/2025/10/7 18:07:35/文章来源:
新风格网站,做文学网站需要,制作一个.net网站需要,做网站是要云空间吗快速理解JS中的原型和原型链 在我们学习JS的过程中#xff0c;我们总会接触到一些词#xff1a;“原型”#xff0c;“原型链”。那么今天我就来带大家来学习学习原型和原型链的知识吧#xff01; 在开始之前#xff0c;我们明确一下我们接下来想要学习的目标#xff1a…快速理解JS中的原型和原型链 在我们学习JS的过程中我们总会接触到一些词“原型”“原型链”。那么今天我就来带大家来学习学习原型和原型链的知识吧 在开始之前我们明确一下我们接下来想要学习的目标 什么是原型什么是原型链原型和原型链之间有什么关系原型和原型链有什么作用 原型 什么是原型呢每个构造函数创建的对象都会在创建的时候自带(创建)一个 prototype 属性这个属性是一个对象这个对象就是我们要说的原型。是不是有点绕来看下面这个例子 function Person(){} Person.prototype.namezhangsan Person.prototype.sayNamefunction(){console.log(lisi) }const p1 new Person() console.log(p1.name)//zhangsan console.log(p1.__proto__)// {name:zhnagsan} console.log(p1.constructor)// [Function: Person] console.log(Person.prototypep1.__proto__)// true console.log(Person.prototype.contructorPerson)// true从这个例子可以看出p1 是构造函数Peron()的实例对象而实例对象通过__proto__和Person的prototype 属性连接起来了。看到这里你是不是还是很疑惑它们两个怎么就连接起来了这就需要了解一下下面的知识点了 构造函数通常会有两个原型对象一个是隐式原型__proto__一个是显示原型prototype。而隐式原型是每一个对象都会拥有的。原型的一个作用大致可以理解成作为实例对象和构造函数之间的桥梁但是请注意实例对象与构造函数原型有直接联系但是实例对象和构造函数之间没有直接联系使用原型对象的还有一个好处是在它上面定义的属性和方法可以被对象实例共享。也就是Person.prototype上面的属性和方法都会共享给实例对象而且一个原型对象可以有多个实例的指向。Person.prototype是 Person 构造函数的原型p1.__proto__是实例对象 p1 的隐式原型通过隐式原型可以访问对象的原型如上所述构造函数有一个prototype属性引用其原型对象而这个原型对象也有一个constructor属性引用这个构造函数。也就是两者相互循环引用。 原型链 看完了上面内容相信你已经对原型已经有了大概的了解接下来我们进阶了解一下原型链吧。看完上面的内容其实就很好理解原型链了我们知道在使用实例对象的时候可以使用一些方法像 toString、valueOf等但是我们并没有在实例对象中定义这些方法那这些方法是那里来的呢实际上这些方法都是实际对象通过原型链到Object那里“拿”的。当我们调用一个对象中没有定义的方法时JS 引擎会沿着原型链向上查找直到找到该方法或达到原型链的顶端。(原型链也就是上图中右边一直向上“链条)。 这时候就会有人问那么 JS 引擎是怎么利用原型链搜索的呢请看下面的例子 function Peronson(){} Person.prototype.namezhangsanconst p1new Person(); console.log(p1.name)// zhangsan p1.namelisi console.log(p1.name)// lisiJS 引擎在第一次打印的时候会问 p1 实例有 name 属性吗答案是没有。然后继续搜索并问p1 的原型有 name 属性吗答案是有的于是就返回了保存在原型上的这个 name 属性。第二次打印的时候 JS 引擎会问 p1 实例有 name 属性吗答案是有的于是就返回了保存在实例上的这个 name 属性。 实际上在第二次打印的时候p1原型上的 name 属性已经被 p1 实例的 name 属性给遮蔽了也就是说虽然不会修改它但会屏蔽它对原型上的同名属性。即时在实例上把这个属性设置为 null也不会恢复它和原型的联系。不过使用 delete 操作符可以完全删除实例上的这个属性从而让标识符解析过程能够继续搜索原型对象。 function Peronson(){} Person.prototype.namezhangsanconst p1new Person(); console.log(p1.name)// zhangsan p1.namelisi console.log(p1.name)// lisi delete p1.name console.log(p1.name)// zhangsanhasOwnProperty方法用于确定某个属性是在实例上还是在原型对象上会在属性存在与掉用它的对象实例上时返回 true function Person(){}const p1new Person(); console.log(p1.name)// zhangsan来自原型 console.log(p1.hasOwnProperty(name))// false p1.namelisi console.log(p1.name)// lisi来自实例 console.log(p1.hasOwnProperty(name))// true有人会说这仅仅只是一个实例和其构造函数的原型链那更复杂应该是什么样的呢大家不妨想想如果原型是另一个类型的示例呢那就意味着这个原型本身有一个内部指针指向另一个原型相应地另一个原型也有一个指针指向另一个构造函数。这样就在实例和原型之间构造了一条原型链。 function SuperType() {this.property true }SuperType.prototype.getSuperValue function () {return this.property }function SubType() {this.subproperty false }SubType.prototype new SuperType()SubType.prototype.getSubValue function () {return this.subproperty }let instance new SubType() console.log(instance.getSuperValue()) // true 这里SuperType的实例作为SubType原型的一个属性那么SuperType原型上的方法都会被SubType的示例所继承这个例子就能够很好的体现出什么原型链和原型链的作用。 到这里我们已经对原型有了大概的认识那接下来我们来尝试一下回答上开头提出的几个问题 什么是原型 JS 中所有的对象都有一个内置属性称为它的 prototype(原型) - MDN 什么是原型链 原型本身是一个对象故原型对象也会有它自己的原型逐渐构成了原型链。原型链终止于拥有 null 作为其原型的对象上(内置一个_proto_ 属性并指向其构造函数的prototype的对象就是原型) - MDN。 原型和原型链之间有什么关系 原型链由一个或多个原型链的指向形成的 原型和原型链有什么作用 JS的属性共享和继承机制(当然属性共享在某些场景下也是它的问题所在)

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

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

相关文章

网站设计与网站开发是同时进行的做儿童成长相册模版网站

2 线程同步 线程同步中的“同步”与生活中大家认知的“同步”略有不同,“同”不指同时,其主旨在于协同步调,按预定的先后次序执行线程;之所以需要实现线程同步,是因为若不对线程的执行次序加以控制,可能会…

怀化网站排名优化大学生活网页制作模板

来源:中国指挥与控制学会 2022年2月27日下午,中国指挥与控制学会(以下简称:CICC)在京召开了《城市大脑建设规范》团体标准启动会。启动会邀请到了中国电信、中国电科、中国电子、联想、科大讯飞、世纪互联、北京市标准…

深入解析:实时通信RTC与传统直播的异同

深入解析:实时通信RTC与传统直播的异同pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mo…

Exp2-后门原理与实践

一、实验目的 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启动 (3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell (4)使用…

【Hexo】4.Hexo 博客文章进行加密 - 实践

【Hexo】4.Hexo 博客文章进行加密 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

思考的动力

.原文内容链接:思考的动力跳至內容 聊天歷程紀錄你說: 将思考我是谁?化为动力的人(每天都不由自主去想)ChatGPT 說: 这样的人,仿佛被一种无形的引力牵引着。不是为了追求某种标准答案,而是因为这个问题本身就像…

网站编程教学wordpress 移动端

1 Java面试资料总结 (github推荐指数高) 2 后端架构师 1. 综合 《Java 面试题 —— 老梁 Java 面试通关要点汇总集》《Java 面试题 —— 老徐 Java 初中级准备的面试题》《Java 面试题 —— 零度 Java 面试题系列》《Java 面试题 —— 东黄的学习方法和面…

DirectX-Graphics-Samples

DirectX-Graphics-Samplesmicrosoft/DirectX-Graphics-Samples: This repo contains the DirectX Graphics samples that demonstrate how to build graphics intensive applications on Windows.

星闪开发之Server-Client 指令交互控制OLED灯案例 - 教程

星闪开发之Server-Client 指令交互控制OLED灯案例 - 教程2025-10-07 17:57 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important;…

LRC and VIP - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Software Foundations Vol.I : 多态与高阶函数(Poly)

Software Foundations Vol.I : 多态与高阶函数(Poly)多态 多态列表 在上一章中只使用了包含数的列表。很明显,程序还需要能够处理其它元素类型的列表 Inductive boollist : Type :=| bool_nil| bool_cons (b : bool) …

网站存在的问题及改进措施山东郓城网站建设

目录:1、应用场景2、优缺点3、FastText的原理4、FastText词向量与word2vec对比 目录: 1、应用场景 fastText是一种Facebook AI Research在16年开源的一个文本分类器。 其特点就是fast。相对于其它文本分类模型,如SVM,Logistic …

数学之美感悟。

从语言编码到数学信息:一脉相承的本质探索 久未读书却因郑琪老师的作业与《数学之美》相遇,这种 “偶然” 恰恰让我对 “语言与信息” 的认知有了更鲜活的触动。当我从 “编码” 视角重新审视我们习以为常的语言 ——…

基于DeploySharp 的深度学习模型部署测试平台:支持YOLO全系列模型

本文介绍了基于DeploySharp开发的深度学习模型部署测试平台的使用方法。该平台支持YOLO系列模型(v5-v13)及多种应用场景,提供OpenVINO和ONNX Runtime两种推理引擎,支持CPU/GPU/NPU等多种设备。文章详细说明了程序下…

zencart网站时间问题广东广州网点快速网站建设

镜像神经元机制等效于人工智能对输入数据系统上下文进行编码的系统。 生物神经系统的镜像神经元编码系统,对生物感知到的一系列行为序列的整体模式进行编码。生物神经系统在感知到行为序列中的某个特征触发模式时,触发神经系统输出整体模式的序列集合的…

复制别人的vmware虚拟机无法联网ubuntu2204

复制别人的虚拟机(ubuntu2204),无法联网,不一定是本地的问题,可能是这个虚拟机的问题 参考 https://zhuanlan.zhihu.com/p/674945911

河北建设厅网站打不开是什么原因新乡网站建设设计公司

表是数据库中负责数据存储的对象,在RDBMS中,数据以行、列的形式存储在表中。Oracle中表有很多种类型,最基础且应用最常用的类型就是堆表(Heap-Organized Table),本文列举了Oracle堆表的常用管理操作。 一、…

企网企业怎么做好网站优化

1.计算机网络的概念 \qquad计算机网络是一个将分散的,具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享和信息传递的系统。 \qquad这里的计算机系统,也可以成为端系统,其包括但不限…

源码做网站教程wordpress登陆加快

本发明专利技术涉及一种软件测试方法。更具体地说,本发明专利技术涉及一种地理信息系统软件测试方法,包括:编写测试用例文档并脚本化形成测试脚本;结合路径分析方法设置测试用例,按照测试用例配套至少一组测试原始数据…

Baklib内容中台AI重构智能服务 - 实践

Baklib内容中台AI重构智能服务 - 实践2025-10-07 17:38 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…