<!doctype html>
<html>
<head>
<title>标题</title>
<meta charset="utf-8">
<script>
function Flyer(name,speed){
this.name=name;
this.speed=speed;
}
Flyer.prototype.fly=function(){
console.log(
this.name+"以时速"+
this.speed+"飞行");
}
function Plane(name,speed,score){
//arguments
//this->当前正再创建的对象
//Flyer不用任何对象调用,则其中的this->window
//借用构造函数
Flyer.apply(this,arguments);
this.score=score;
}
//让子类型原型对象继承父类型原型对象
Object.setPrototypeOf(
Plane.prototype,
Flyer.prototype
);
Plane.prototype.getScore=
function(){
console.log(
"击落敌机,得"+
this.score+"分");
}
function Bee(name,speed,award){
//借用构造函数
Flyer.apply(this,arguments);
this.award=award;
}
Object.setPrototypeOf(
Bee.prototype,Flyer.prototype
);
Bee.prototype.getAward=
function(){
console.log(
"击落蜜蜂,奖励:"
+this.award);
}
var f16=new Plane("F16",1000,20);
console.dir(f16);
f16.fly();
f16.getScore();
var bee=
new Bee("小蜜蜂",50,"1 life");
bee.fly();
bee.getAward();
</script>
</head>
<body>
</body>
</html>
javascript面向对象(五)
最新推荐文章于 2024-02-28 23:59:43 发布