js 继承的过程
在 JavaScript 中,继承是通过原型链(prototype chain)来实现的。每个对象都有一个原型对象(prototype),并可以从原型对象继承属性和方法。
下面是 JavaScript 中的继承过程的概述:
创建父类构造函数:首先,创建一个父类的构造函数,定义父类的属性和方法。
创建子类构造函数:然后,创建一个子类的构造函数,可以使用
function关键字来定义。在子类构造函数内部,使用call()方法调用父类构造函数,以继承父类的属性。
function Parent(name) {
this.name = name;
}
function Child(name, age) {
Parent.call(this, name); // 继承父类属性
this.age = age;
}建立原型链:接下来,通过将子类的原型对象(
prototype)指向父类的实例,建立原型链。
Child.prototype = Object.create(Parent.prototype);
Child.prototype.constructor = Child;通过 Object.create() 方法,将子类的原型对象指向父类的实例。这样子类就可以从父类的原型对象中继承属性和方法。
添加子类特有的方法:在子类的原型对象上添加子类特有的方法。
Child.prototype.sayHello = function() {
console.log('Hello, I am ' + this.name + ' and I am ' + this.age + ' years old.');
};在子类的原型对象上添加新的方法,这些方法只在子类的实例上可用。
现在,可以创建子类的实例并调用方法了:
var child = new Child('Alice', 5);
child.sayHello(); // 输出:Hello, I am Alice and I am 5 years old.通过以上步骤,实现了子类对父类的属性和方法的继承。子类的实例可以访问父类的属性,并且可以调用从父类继承的方法。
需要注意的是,JavaScript 中的继承是基于原型的继承,而不是传统的基于类的继承。通过原型链,对象可以通过原型对象进行属性和方法的继承。这种继承方式在 JavaScript 中非常灵活,并且可以实现多层级的继承关系。
本文是原创文章,采用 CC BY-NTNNEVOL 协议,完整转载请注明来自 newblue
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果