原型链是JavaScript中的重要概念,它是理解对象继承和属性查找机制的关键。在JavaScript中,每一个对象都有一个原型对象,而原型对象又是一个对象。通过原型链,我们可以实现继承并共享属性和方法。
原型链的机制是通过对象之间的链接来实现的。每个对象都有一个隐藏的__proto__属性,指向它的原型对象。而原型对象又可以有自己的原型对象,依此类推,形成一条链条,这就是原型链。
下面是一个具体的代码示例,帮助理解原型链的工作原理:
// 创建一个对象
var person = {
name: "John",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};
// 创建一个新对象,并将其原型设置为person对象
var student = Object.create(person);
student.id = "1001";
student.study = function() {
console.log("I\'m studying...");
};
// 创建一个再下一级的新对象,并将其原型设置为student对象
var undergraduate = Object.create(student);
undergraduate.major = "Computer Science";
undergraduate.grade = 2;
// 可以通过原型链进行属性和方法的继承
console.log(undergraduate.name); // 输出 "John"
undergraduate.greet(); // 输出 "Hello, my name is John"
// 可以访问原型对象上的属性和方法
console.log(undergraduate.age); // 输出 30
student.greet(); // 输出 "Hello, my name is John"
// 可以在子对象上添加自己的属性和方法
console.log(undergraduate.id); // 输出 "1001"
undergraduate.study(); // 输出 "I\'m studying..."

腾讯云 12-20 广告

