js继承方式

2020-09-22  本文已影响0人  秋池_70b5

实现继承有两种常见方式:

混合式继承

最简单的继承就是将别的对象的属性强加到我身上,那么我就有这个成员了。

混合式继承的简单描述:

function Person() {};

Person.prototype.extend = function ( o ) {

for ( var k in o ) {

this[ k ] = o[ k ];

}

};

Person.prototype.extend({

run: function () { console.log( '我能跑了' ); },

eat: function () { console.log( '我可以吃了' ); },

sayHello: function () { console.log( '我吃饱了' ); }

});

原型继承

利用原型也可以实现继承,不需要在我身上添加任何成员,只要原型有了我就有了。

借用构造函数继承

这种技术的基本思想相当简单,即在子类型构造函数的内部调用超类型构造函数,而函数只不过是在特定环境中执行代码的对象,因此通过使用apply()和call()方法也可以在(将来)新创建的对象上执行构造函数

function Person ( name, age, gender ) {

this.name = name;

this.age = age;

this.gender = gender;

}

//需要提供一个 Student 的构造函数创建学生对象

//学生也应该有 name, age, gender, 同时还需要有 course 课程

function Student ( name, age, gender, course ) {

Person.call( this, name, age, gender );

this.course = course;

}

上一篇下一篇

猜你喜欢

热点阅读