Javascript一个接一个地调用对象方法

Javascript一个接一个地调用对象方法,javascript,Javascript,我有一个目标: const Foo = { bar(x) { }, baz(x) { }, } 我如何重写此对象以调用其方法,如下所示: Foo.bar(x).baz(y); 不要这样称呼他们: Foo.bar(x); Foo.baz(y); 就像在jQuery中,您可以一个接一个地调用函数 $'bac'。添加类'x'。删除类'y' 每个函数都必须返回对象本身,以便再次调用该函数,这也是jQuery所做的 const Foo = { bar(x) {

我有一个目标:

const Foo = {

  bar(x) {

  },

  baz(x) {

  },

}
我如何重写此对象以调用其方法,如下所示:

Foo.bar(x).baz(y);
不要这样称呼他们:

Foo.bar(x);
Foo.baz(y);
就像在jQuery中,您可以一个接一个地调用函数


$'bac'。添加类'x'。删除类'y'

每个函数都必须返回对象本身,以便再次调用该函数,这也是jQuery所做的

const Foo = {

  bar(x) {
     return this;
  },

  baz(x) {
     return this;
  },

}
这称为API

在软件工程中,Eric Evans和Martin Fowler首次提出的流畅接口是一种面向对象API的实现,旨在提供更可读的代码。 fluent接口通常使用方法级联和具体的方法链接来实现

在这种情况下,通过返回self对象来实现:

常数foo={ 巴克斯{ 控制台日志条 返回此;//此处 }, 巴兹{ 控制台logbaz 返回这个;//在这里 } } foo.bar10.20 您应该在每个函数结束时返回此值。在本文中,这指的是Foo对象本身

const Foo = {

  bar(x) {
      return this;
  },

  baz(z) {
      return this;
  }

}
例如:

Foo.bar(x).baz(z);
其执行方式如下:

Foo.bar(x) // <-- returns 'Foo'
   .baz(z) // <-- call 'baz' function of 'Foo'

您应该从方法返回对象本身以再次调用另一个方法:

常数Foo={ 巴克斯{ alertBAR; 归还这个; }, 巴兹{ alertBAZ; 归还这个; }, } onload=函数{ Foo.bar.baz;
}define bar返回定义的这个或FooThanks!在构建类似dsl的API和构建器时,这是一种非常流行的方法。希望它能被更多地使用,因为它也使lambda表达式更容易在一行中书写。您的答案对这里已经提供的答案有什么补充?