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

调试node作用域中的call方法报错

var pet = {

words: '...',

speak: function(say) {

console.log(say + ' ' + this.words);

}

};


function Dog(words) {

pet.call(this, words);

}

var dog = new Dog('wangwagn');

dog.speak();


代码如上 ,执行报错。

正在回答

3 回答

首先像楼上说的,call的作用对象应该是函数

function pet(words) {     //这里应该加参数,否则new Dog('wangwagn')传的参数 就没有意义

    this.words = words,
    this.speak=function(say) {
        console.log(say + ' ' + this.words);
    }
};

function Dog(words) {
    pet.call(this, words);
}

var dog = new Dog('wangwagn');

dog.speak('say'); //这里也要给参数,应该你speak函数里写了形参



1 回复 有任何疑惑可以回复我~
saa


0 回复 有任何疑惑可以回复我~

pet是对象,call的作用对象应该是函数。。把pet改造成构造函数试下。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
进击Node.js基础(一)
  • 参与学习       219315    人
  • 解答问题       982    个

本视频教程带你揭开Node.js的面纱,带你走进一个全新世界

进入课程

调试node作用域中的call方法报错

我要回答 关注问题
微信客服

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

帮助反馈 APP下载

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

公众号

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