JavaScript中的继承
<script type="text/javascript">
function Animal(name,age){
this.name = name;
this.age = age;
this.eat = function(){
alert(this.name+"--"+this.age);
}
}
function Dog(name,age,sex){
this.animal = Animal;
this.animal(name,age);
delete animal;
this.sex = sex;
this.bite = function(){
alert(this.name+"--"+this.age);
}
}
var dog = new Dog("阿黄",20,"雄性");
dog.eat();
dog.bite();
</script>
继承之混合方式
<script type="text/javascript">
function Person(name,age){
this.name = name;
this.age = age;
}
Person.prototype.eat = function(){
alert(this.name+"--like eatting");
}
function Chinese(name,age){
Person.apply(this,[name,age]);
this.sleep = function(){
alert("我自己的方法。。。")
}
}
Chinese.prototype = new Person();
var ch = new Chinese("何家豪",22);
ch.eat();
ch.sleep();
</script>
继承之Apply/call
<script type="text/javascript">
function fn(width,height){
this.width = width;
this.height = height;
}
function area(width,height){
alert( width*height);
}
var a = new fn(10,20);
function Person(name,age){
this.name = name;
this.age = age;
this.eat = function(){
alert(this.name+"---"+this.age);
}
}
function Chinese(name,age){
Person.apply(this,[name,age]);
this.sleep = function(){
alert(this.name+"like sleeping...");
}
}
var ch = new Chinese("张三",20);
ch.eat();
ch.sleep();
</script>
总结:学习js语言时,将js与Java中的语法进行类比,尤其注意js的独特之 处。