原型链js
在 JavaScript 中,原型链是实现对象继承的一种机制。每个 JavaScript 对象都有一个内部属性 [[Prototype]]
,指向另一个对象,这个对象被称为其原型。通过原型链,JavaScript 可以实现属性和方法的继承。
对象和原型:
Object.getPrototypeOf(obj)
获取)。查找属性:
null
)。构造函数和原型:
prototype
属性会被赋值给新对象的 [[Prototype]]
。function Person(name) {
this.name = name;
}
Person.prototype.sayHello = function() {
console.log(`Hello, my name is ${this.name}`);
};
const alice = new Person('Alice');
alice.sayHello(); // 输出: Hello, my name is Alice
function Animal(name) {
this.name = name;
}
Animal.prototype.speak = function() {
console.log(`${this.name} makes a noise.`);
};
function Dog(name) {
Animal.call(this, name); // 继承属性
}
// 继承方法
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
Dog.prototype.speak = function() {
console.log(`${this.name} barks.`);
};
const dog = new Dog('Rex');
dog.speak(); // 输出: Rex barks.
Object.create()
可以更方便地创建具有特定原型的对象。instanceof
操作符时,JavaScript 会检查对象的原型链,以确定对象是否是某个构造函数的实例。原型链是 JavaScript 中一个非常重要的概念,理解它有助于更好地掌握 JavaScript 的面向