理解就是一个 引用类型 (对象/变量) 在不同情况下的多种状态
js 本身是无态,但js天生就支持多态
<script type="text/javascript">
// Master类
function Master(name){
this.nam=name;
}
//原型法添加成员函数
Master.prototype.feed=function (animal,food){
window.alert("给"+animal.name+" 喂:"+ food.name);
}
//食物类
function Food(name){
this.name=name;
}
//动物类
function Animal(name){
this.name=name;
}
//鱼类
function Fish(name){
this.food=Food;
this.food(name);
}
//骨头
function Bone(name){
this.food=Food;
this.food(name);
}
//猫猫
function Cat(name){
this.animal=Animal;
this.animal(name);
}
//狗狗
function Dog(name){
this.animal=Animal;
this.animal(name);
}
var cat=new Cat("猫");
var fish=new Fish("鱼");
var dog=new Dog("狗");
var bone=new Bone("骨头");
//创建一个主人
var master=new Master("Jake");
master.feed(cat,fish);//给猫喂..鱼
master.feed(dog,bone);//给狗喂..骨头
</script>