1

我很难弄清楚如何以我想要的方式链接对象。

举个例子:

var s = function(){
    this.text = {
        hi: function(){
            //do something
            return new s().text;
        }
    };
    return null;
};

var a = new s();

让我们说它在哪里//do something,你有某种代码可以做某事(返回某事)。您希望返回该结果,同时仍允许人们将更多功能链接到结果。

但是,如果我要返回一些东西,比如:

console.log(a.text.hi().hi());

不再起作用,因为最后一个 return ( new s().text) 不会被返回,因为你不能返回两件事,我明白这一点。

我的主要问题是,是否可以进行链接,您可以将另一个函数链接到前一个函数的结果,但如果没有函数链接到前一个函数,则返回结果。

我发现的唯一解决方案是使用如下语法:

a.text.hi().hi().end;

为了指示代码返回最后一个函数的结果。但是,我觉得这不是很实用,我希望有更好的方法来完成我想做的事情。

4

0 回答 0