我正在尝试使用三个方法humanwalkeat创建一个名为talk的JavaScript对象,我想这样调用它(任何方法都不应输出任何值):human.talk('hello').walk('home').eat('pizza')

我有以下代码:

var human = {
    talk : function talk(t){

    },
    walk : function walk(w){

    },
    eat : function eat(e){

    }
};

console.log(human.talk('hello').walk('home').eat('pizza'));


但我收到Uncaught TypeError: Cannot call method 'walk' of undefined

为什么??

最佳答案

如果您希望能够链接功能,则每个功能都必须return this。因为函数talk返回undefined并且实际上试图调用undefined.walk('home'),所以您收到错误消息。

关于javascript - 使用3种方法创建JavaScript对象将引发对象没有方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19237129/

10-12 17:13