组合继承有时也叫伪经典继承,结合了原型链和盗用构造函数。
1、通过原型链继承原型上的属性和方法,盗用构造函数继承实例属性。
2、这样不仅可以将方法定义为原型,还可以使每个实例都有自己的属性。
实例
function Super (name) { this.name = name this.friends = ['zs', 'ls'] } Super.prototype.walk = function () { console.log(this.name + ' is walking.') } function Sub (name, age) { Super.call(this, name) this.age = age } Sub.prototype = new Super() Sub.prototype.run = function () { console.log(this.name + ' is ' + this.age + ' years old. He can run now.') } const p1 = new Sub('wzq', 24) p1.walk() p1.run() p1.friends.push('zmk') console.log(p1.friends) const p2 = new Sub('zmk', 24) p2.walk() p2.run() console.log(p2.friends)
以上就是javascript组合继承的基本原理,希望对大家有所帮助。更多Javascript学习指路:
推荐操作环境:windows7系统、jquery3.2.1版本,DELL G3电脑。