原型,原型链
原型:
每一个构造函数,都会带有一个 prototype
属性。该属性指向一个对象,该对象称之为 原型对象
。其所有的属性和方法都能被构造函数的实例对象共享访问,因为实例都包含着一个指向原型对象的内部指针 __proto__
。可以通过内部指针 __proto__
访问到原型对象,
原型对象
上默认有一个 constructor
属性,指向其相关联的构造函数。
原型链:
当访问一个对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到,则会去它的__proto__
上查找,即它的构造函数的prototype,如果还没有找到就会再在构造函数的prototype的__proto__
中查找(即上一层构造函数的prototype),这样一层一层向上查找直到Object的prototype结束,这样就会形成一个链式结构,我们称为原型链。我们可以说:它们是继承关系
1.prototype是一个对象属性,其属性值为对象,成为原型对象,原型作用是共享方法。
2.每个对象都有一个属性__proto__指向构造函数的prototype原型对象,__proto__对象原型等价于原型对象prototype,__proto__为对象的查找机制提供了一个方向,或者说是一条路线。
3.原型链:当访问对象的某个属性时,会先在这个对象本身属性上查找,如果没有找到则回去它的__proto__上查找,即它的构造函数上prototype,如果还没有找到,就会再在构造函数的prototype的__proto__中查找,这样一层一层向上查找就会形成一个俩是结构,成为原型链
4.constructor:对象原型(__proto__)和原型对象(prototype)里都有一个属性,constructor属性,它主要用于记录该对象引用了哪个构造函数,他可以让原型对象从新指回原来的构造函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现