本文实例讲述了js继承实现方法。分享给大家供大家参考,具体如下:
函数
this.name=name;
this.sayhello=function(){
alert("hi我是"+this.name);
};
}
animal.prototype.shout=function(){ //prototype主要作用:给类增加一个新的属性或函数
alert(this.name+"正在叫!");
};
animal.prototype.game=function(){
alert(this.name+"正在玩耍!");
};
var dog=new animal("小黑"); //实例化
dog.sayhello();
dog.shout();
dog.game();
一、原型继承
父类的函数
alert(this.name+"汪汪叫!");
}
}
Dog.prototype=Cat.prototype=new animal();
var dog=new Dog("小黑");
dog.sayhello();
dog.shout();
dog.game();
var cat=new Cat("小白");
cat.sayhello();
cat.shout();
cat.game();
animal是父类(或超类),要继承于谁,谁就是父类(超类)
改进:专门写个函数,用来实现继承
函数的属性添加上去
this.prototype=new superclass();
};
animal.prototype.shout=function(){
alert(this.name+"正在叫!");
};
animal.prototype.game=function(){
alert(this.name+"正在玩耍!");
};
var Dog=function(name){
this.name=name;
this.shout=function(){
alert(this.name+"汪汪叫!");
}
}
Dog.extends(animal);
var dog=new Dog("小黑");
dog.sayhello();
dog.shout();
dog.game();
var dog=new Dog("小白");
dog.sayhello();
dog.shout();
dog.game();
二、call,apply继承(不完全继承)
输出:hi我是小黑
通过call(apply)的方式,只能改变其this指向,通过prototype添加进去的方法,他是无法直接继承的总结:
添加属性或函数的类,因为call和apply函数只是实现了方法的替换,而没有对对象的属性和函数进行复制操作
属性和函数
更多关于JavaScript相关内容可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
原文链接:https://www.f2er.com/js/43459.html