请老师给讲讲,上面那个add.call(sub,5,3)为啥返回8,为啥不调用sub方法
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
//补充代码
// function add(x,y){
// alert(x+y);
// }
// function sub(x,y){
// alert(x-y);
// }
// add.call(sub,5,6);
//老师这里不是应该调用sub弹出个-1么,第一个参数不是设置指向sub了么
//下面这个不就是设置了指向cat就用了cat的属性么,这两个为啥不一样啊
function Animal(name){
this.name = name;
this.info = function(){
alert(this.name);
}
}
function Cat(name){
this.name = name;
this.info = function(){
alert(this.name);
}
}
var ani = new Animal('dog');
var cat = new Cat('cat');
ani.info.call(cat,'');
</script>
</body>
</html>
正在回答
同学你好,可以理解为虽然改变了add函数的this指向,但是add函数中没有使用到this呦
祝学习愉快~


恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星