什么是原型链

简介: 什么是原型链

原型链:


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的生成,同时支持新闻拆条;关于视频版权,支持视频相似性、同源视频检索和音视频指纹等功能。
17617 0
将人工智能融入多媒体 助力视频产业加速——阿里云视频AI全能力解读
|
11月前
|
机器学习/深度学习 数据采集 人工智能
TeleAI 开源星辰语义大模型-TeleChat2!
2024.9.20 中国电信人工智能研究院(TeleAI)开源TeleChat2-115B模型,该模型是首个完全国产算力训练并开源的千亿参数模型。
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与情感计算:AI如何理解人类情感
人工智能与情感计算:AI如何理解人类情感
1373 20
|
9月前
|
人工智能 搜索推荐 开发者
ClotheDreamer:上海大学联合腾讯等高校推出的3D服装生成技术
ClotheDreamer是由上海大学、上海交通大学、复旦大学和腾讯优图实验室联合推出的3D服装生成技术,能够根据文本描述生成高保真、可穿戴的3D服装资产,适用于虚拟试穿和物理精确动画。
194 6
ClotheDreamer:上海大学联合腾讯等高校推出的3D服装生成技术
|
11月前
|
人工智能 自动驾驶 数据安全/隐私保护
人工智能的伦理困境:我们如何确保AI的道德发展?
【10月更文挑战第21天】随着人工智能(AI)技术的飞速发展,其在各行各业的应用日益广泛,从而引发了关于AI伦理和道德问题的讨论。本文将探讨AI伦理的核心问题,分析当前面临的挑战,并提出确保AI道德发展的建议措施。
|
11月前
|
机器学习/深度学习 人工智能 供应链
探索未来技术前沿:人工智能与区块链的融合创新
【10月更文挑战第14天】 探索未来技术前沿:人工智能与区块链的融合创新
|
前端开发 Linux 网络安全
旧手机闲置?教你用Termux搭建个移动服务器
旧手机闲置?教你用Termux搭建个移动服务器
663 0
|
数据采集 安全 测试技术
使用Selenium和Python进行表单自动填充和提交
使用Selenium和Python进行表单自动填充和提交
|
运维 监控
《云上业务稳定性保障实践白皮书》——三.故障管理体系——3.故障管理全流程——3.3.2故障应急
《云上业务稳定性保障实践白皮书》——三.故障管理体系——3.故障管理全流程——3.3.2故障应急
515 0