Web前端必做笔记之一:call,apply,bind的实际应用
<script>
//继承:子类可以使用父类的方法
function Aminal(){
this.eat = function(){
console.log("吃东西");
}
}
function Cat(){
}
let cat = new Cat();
cat.eat() ; //怎么可以实现输出"吃东西"
</script>
<script>
<!-- 这里的Aminal() 与 Cat() 是没有关系的,如何实现Cat()继承Aminal()中eat方法?那就需要使用call -->
function Aminal(){
//这里this指向cat
this.eat = function(){
console.log("吃东西");
}
}
function Cat(){
Aminal.call(this); //这时this指向cat
Bird.call(this);
}
let cat = new Cat();
cat.eat() ; //输出“吃东西”
</script>
// call好处:可以实现多重继承
function Bird(){
this.fly = function(){
console.log("飞翔")
}
}
function Cat(){
Aminal.call(this); //这时this指向cat、
Bird.call(this);
}
let cat = new Cat();
cat.eat() ; //吃东西"
cat.fly(); //输出飞翔