原型对象 prtotytpe
function Person (name, age) {
this.name = name;
this.age = age;
this.say = function() {
console.log(1);
}
}
Person.prototype.say = function() {
console.log(2);
}
const ming = new Person('ming', 30);
ming.say();
这段代码的返回是 1
// 实例对象: 在 原型链上 属性 或 方法 的「检索/查询/寻找」逻辑:
// 假设 对象 ming 寻找 say 这个方法:
// 1)先在 ming 内部 寻找 say
// 2) 若 ming 内部没有 say ,往 ming 的 __proto__(原型对象 - Person.prototype)上去寻找
// 3)若 Person.prototype 这个「原型对象」上也没有,再往上(__proto__)找,直到找到 Object.prototype
// 4) 都找不到的话,则返回 undefined
// 凡是 构造函数 就都有 原型对象(Person.prototype)
// 凡是 实例对象 就都有 原型对象 (ming.__proto__)
// 原型链:
// ming.__proto__.__proto__
// 1) ming.__proto__ -> ming 的原型对象
// 2)ming 的原型对象.__proto__ -> ming 「的原型对象」「的原型对象」
// 这种形式叫「原型链」
// 原型链的尽头是: Object.prototype
// console.log(ming.__proto__.__proto__ === Object.prototype);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律