JavaScript 学习手册
免费学习
完整知识体系
快速检索
JavaScript学习手册《原型链(Prototype Chain)》:JavaScript 中,每个对象都有一个内部属性 `[[Prototype]]`(可通过 `__proto__` 或 `Object.getPrototypeOf()` 访问),指向其原型对象。当访问对象的属性时,如果自身没有,会沿着原型...
对象
原型链(Prototype Chain)
【详细说明 & 代码示例】
JavaScript 中,每个对象都有一个内部属性 `[[Prototype]]`(可通过 `__proto__` 或 `Object.getPrototypeOf()` 访问),指向其原型对象。当访问对象的属性时,如果自身没有,会沿着原型链向上查找。
**原型链示例:**
```javascript
const parent = { a: 1, b: 2 };
const child = Object.create(parent);
child.c = 3;
console.log(child.a); // 1(来自原型)
console.log(child.b); // 2(来自原型)
console.log(child.c); // 3(自身)
```
**构造函数与原型:**
```javascript
function Person(name) {
this.name = name;
}
// 在原型上添加方法,所有实例共享
Person.prototype.greet = function() {
console.log('Hello ' + this.name);
};
const p1 = new Person('Alice');
p1.greet(); // Hello Alice
```
**原型链终点** 是 `Object.prototype`,再向上为 `null`。
**属性遮蔽:** 自身属性会覆盖原型上的同名属性。
**使用 `hasOwnProperty`** 判断属性是否属于自身,而不沿原型链查找。
**注意:** 推荐使用 `Object.setPrototypeOf()` 或 `Object.create()` 来设置原型,避免直接使用 `__proto__`(虽然浏览器支持)。
学习提示:建议打开浏览器开发者工具(F12)中的 Console 面板,直接运行代码片段,实时查看输出,加深理解。
全部章节目录(共 48 个知识点)
JavaScript 基础 (1个知识点)
变量与数据类型 (3个知识点)
运算符 (2个知识点)
控制流程 (3个知识点)
函数 (3个知识点)
对象 (2个知识点)
数组 (2个知识点)
字符串 (1个知识点)
日期与时间 (1个知识点)
错误处理 (1个知识点)
DOM 操作 (3个知识点)
事件处理 (3个知识点)
BOM 操作 (1个知识点)
ES6+ 新特性 (4个知识点)
异步编程 (1个知识点)
Promise (1个知识点)
async/await (1个知识点)
Ajax 与请求 (1个知识点)
模块化 (1个知识点)
类 (1个知识点)
闭包 (1个知识点)
作用域 (1个知识点)
正则表达式 (1个知识点)
Web API (5个知识点)
框架与库基础 (2个知识点)
工具与调试 (2个知识点)
使用说明
- • 本手册涵盖 JavaScript 从基础到 ES6+ 及 Web API 的完整知识体系
- • 在搜索框输入关键词,快速定位相关知识点
- • 点击条目标题进入详情页,查看详细说明与代码示例
- • 页面按分类展示所有知识点,方便系统性学习
- • 建议打开浏览器开发者工具(F12)的 Console 面板运行代码,加深理解