JS原型链理解

1. 每个对象都有原型属性(__proto__)
2. 对象的原型(__proto__)指向其构造函数(Constructor)的prototype属性
3. 构造函数(Constructor)的prototype属性本身也是一个对象,其原型(__proto__)亦指向其构造函数的prototype
4. 如此形成一个链式结构,而Constructor.prototype若没有自定义构造函数,则其始终是一个对象,构造函数为Object,
  原型为Object.prototype
5. Object.prototype的原型为null,原型链结束

原型链一般用来查找对象的属性和方法,进行类的继承等功能

现象说明

Object.prototype.__proto__ === null   JS世界的源头一片荒芜,一切皆空

Object.__proto__ == Function.prototype   Object是构造器,本身也是函数,所以其原型就是Function的prototype

Function.__proto__ == Function.prototype  Function也是一种函数,所以其原型也是Function的prototype


相关方法

object.hasOwnProperty(propName)  判断对象本身是否有该成员,而不是从原型链继承的成员

object1.isPrototypeOf(object2)        判断object1是否在object2的原型链上

posted @   全玉  阅读(182)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示