什么是原型链

简介: 什么是原型链

原型链:


JavaScript万物都是对象,对象和对象之间也有关系,并不是孤立存在的。对象之间的继承关系,在JavaScript中是通过prototype对象指向父类对象,直到指向Object对象为止,这样就形成了一个原型指向的链条,专业术语称之为原型链。





使用:


function Fn() {}// Fn为构造函数

var f1 = new Fn();//f1是Fn构造函数创建出来的对象

构造函数的prototype属性值就是对象原型。(Fn.prototype就是对象的原型)

构造函数的prototype属性值的类型就是对象 typeof Fn.prototype===object.

对象原型中的constructor属性指向构造函数 (Fn.prototype.constructor===Fn)

对象的__proto__属性值就是对象的原型。(f1.__proto__就是对象原型)

Fn.prototype===f1.__proto__ 其实它们两个就是同一个对象---对象的原型。

所有Fn.prototype.__proto__===Object.prototype

typeof Object.prototype ===object。

Object.prototype.__proto__===null。


我讨论原型就是指的对象与原型对象之间的关系。所以原型链也称之为对象链。






总结:函数的原型对象constructor默认指向函数本身,原型对象除了有原型属性外,为了实现继承,还有一个原型链指针__proto__,该指针指向上一层的原型对象,而上一层的原型对象的结构依然类似,这样利用__proto__一直指向Object的原型对象上,而Object的原型对象用Object.prototype.__proto__ = null表示原型链的最顶端,如此变形成了javascript的原型链继承,同时也解释了为什么所有的javascript对象都具有Object的基本方法。


相关文章
|
人工智能 文字识别 监控
将人工智能融入多媒体 助力视频产业加速——阿里云视频AI全能力解读
结合人工智能视频理解流程和用户的需求场景,我们将视频AI的功能分成四个大部分,视频智能审核、视频内容理解、视频智能编辑、视频版权保护。其中视频审核功能包括视频鉴黄、暴恐涉政识别、广告二维码识别、无意义直播识别等,利用识别能力将网络上没营养和不健康的视频内容进行排查和处理;视频理解功能包括视频分类、标签,人物识别、语音识别,同时也包括对视频中的文字进行识别(OCR);视频编辑层面可以实现视频首图、视频摘要、视频highlight的生成,同时支持新闻拆条;关于视频版权,支持视频相似性、同源视频检索和音视频指纹等功能。
17691 0
将人工智能融入多媒体 助力视频产业加速——阿里云视频AI全能力解读
|
机器学习/深度学习 数据采集 人工智能
TeleAI 开源星辰语义大模型-TeleChat2!
2024.9.20 中国电信人工智能研究院(TeleAI)开源TeleChat2-115B模型,该模型是首个完全国产算力训练并开源的千亿参数模型。
|
10月前
|
人工智能 搜索推荐 开发者
ClotheDreamer:上海大学联合腾讯等高校推出的3D服装生成技术
ClotheDreamer是由上海大学、上海交通大学、复旦大学和腾讯优图实验室联合推出的3D服装生成技术,能够根据文本描述生成高保真、可穿戴的3D服装资产,适用于虚拟试穿和物理精确动画。
230 6
ClotheDreamer:上海大学联合腾讯等高校推出的3D服装生成技术
|
12月前
|
人工智能 自动驾驶 数据安全/隐私保护
人工智能的伦理困境:我们如何确保AI的道德发展?
【10月更文挑战第21天】随着人工智能(AI)技术的飞速发展,其在各行各业的应用日益广泛,从而引发了关于AI伦理和道德问题的讨论。本文将探讨AI伦理的核心问题,分析当前面临的挑战,并提出确保AI道德发展的建议措施。
|
机器学习/深度学习 人工智能 供应链
探索未来技术前沿:人工智能与区块链的融合创新
【10月更文挑战第14天】 探索未来技术前沿:人工智能与区块链的融合创新
|
前端开发 Linux 网络安全
旧手机闲置?教你用Termux搭建个移动服务器
旧手机闲置?教你用Termux搭建个移动服务器
705 0
|
存储 数据管理 数据安全/隐私保护
如何给移动硬盘分区?(移动硬盘分区详细指南)
本文介绍了如何对移动硬盘进行分区,以提高数据管理和安全性。首先解释了硬盘分区的基本概念和好处,包括提升管理效率、保障数据安全和优化硬盘利用。接着,提供了两种分区方法:一是使用Windows磁盘管理器,适合基础操作;二是使用DiskGenius软件,功能更强大且用户友好。对于已有分区的移动硬盘,可通过调整现有分区或拆分来增加新分区。整个过程中,建议先备份数据,并谨慎操作。
|
弹性计算 负载均衡 Cloud Native
全景剖析阿里云容器网络数据链路(四)—— Terway IPVLAN+EBPF
本系列联合作者 容器服务 @谢石 近几年,企业基础设施云原生化的趋势越来越强烈,从最开始的IaaS化到现在的微服务化,客户的颗粒度精细化和可观测性的需求更加强烈。容器网络为了满足客户更高性能和更高的密度,也一直在高速的发展和演进中,这必然对客户对云原生网络的可观测性带来了极高的门槛和挑战。为了提高云原生网络的可观测性,同时便于客户和前后线同学增加对业务链路的可读性
1675 1
全景剖析阿里云容器网络数据链路(四)—— Terway IPVLAN+EBPF
|
数据采集 安全 测试技术
使用Selenium和Python进行表单自动填充和提交
使用Selenium和Python进行表单自动填充和提交
|
运维 监控
《云上业务稳定性保障实践白皮书》——三.故障管理体系——3.故障管理全流程——3.3.2故障应急
《云上业务稳定性保障实践白皮书》——三.故障管理体系——3.故障管理全流程——3.3.2故障应急
531 0