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

调试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基础(一)
  • 参与学习       219394    人
  • 解答问题       896    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信