为了账号安全,请及时绑定邮箱和手机立即绑定

js的call()继承问题

js的call()继承问题

MMMHUHU 2019-02-25 16:58:30
function Animal(name,weight){   this.name = name;   this.weight = weight;} function Cat(){    Animal.call(this,'cat','50');  //Animal.apply(this,['cat','50']);    this.say = function(){      console.log("I am " + this.name+",my weight is " + this.weight);   }} var cat = new Cat();cat.say();//I am cat,my weight is 50call()实现继承的原理我动,但是上面这段代码cat直接调用say()的话不应该是只执行Cat构造函数里的say方法吗?而Animal.call(this,'cat','50');这一行不应该没执行吗?难道是因为new一个cat实例的时候会把Cat函数先执行一遍么?求解
查看完整描述

1 回答

?
米脂

TA贡献1836条经验 获得超3个赞

cat 和Cat 仔细看好 的你定义


var cat = new Cat()

你调用的是cat  是Cat的新实例  当然自上而下执行一次  结果一目了然


查看完整回答
反对 回复 2019-03-04
  • 1 回答
  • 0 关注
  • 354 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号