JavaScript继承
//定义父类 function Parent(x, y){ this.x = x; this.y = y; } //定义父类的实例方法 Parent.prototype.sum = function(){ return this.x + this.y; } //定义子类并继承Parent function Child(x, y, z){ // 据说下面这行可以用于单层的继承,但是我的浏览器中会报错:TypeError: this.superclass is not a function //this.superclass(x, y); //调用构造函数链 //Parent.call(this, x, y); this.z = z; } //继承Parent的原型,如果没这句,则默认继承Object的原型 Child.prototype = new Parent(); //不需要的属性删除 delete Child.prototype.x; delete Child.prototype.y; //前面我们用Parent创建了Child的原型对象,所以需要重新给原型对象的constructor属性赋值,否则该属性和Parent的constructor相同 Child.prototype.constructor = Child; Child.prototype.multiply = function(){ return this.x * this.y * this.z; } var parent = new Parent(1,2); var child = new Child(1,2,3); alert(parent.sum()); //ok alert(child.sum()); //ok alert(child.multiply()); //ok alert(parent.multiply()); //error:no such method
相关推荐
nmgxzm00 2020-11-10
ifconfig 2020-10-14
hhanbj 2020-11-17
zfszhangyuan 2020-11-16
古叶峰 2020-11-16
一个智障 2020-11-15
jipengx 2020-11-12
81427005 2020-11-11
xixixi 2020-11-11
游走的豚鼠君 2020-11-10
苗疆三刀的随手记 2020-11-10
Web卓不凡 2020-11-03
小飞侠V 2020-11-02
帕尼尼 2020-10-30
爱读书的旅行者 2020-10-26
帕尼尼 2020-10-23
杏仁技术站 2020-10-23
淼寒儿 2020-10-22