Javascript 如何定义要这样调用的函数:function1().function2()?

Javascript 如何定义要这样调用的函数:function1().function2()?,javascript,ecmascript-6,Javascript,Ecmascript 6,如何定义这样调用的函数?您需要function1来返回属性为function2的对象。例如: 函数f1(){ 返回{ f2(){ console.log('foo'); } }; } f1().f2()这里有一个工作示例,您可以调用function1并获得到所需函数的对象映射 函数function1(){ 返回{ 功能2:f2 } } 函数f2(){ 返回“做某事”; } console.log(function1().function2())除了其他答案外,您通常会在编写fluent接口时

如何定义这样调用的函数?

您需要
function1
来返回属性为
function2
的对象。例如:

函数f1(){
返回{
f2(){
console.log('foo');
}
};
}

f1().f2()这里有一个工作示例,您可以调用
function1
并获得到所需函数的对象映射

函数function1(){
返回{
功能2:f2
}
}
函数f2(){
返回“做某事”;
}

console.log(function1().function2())
除了其他答案外,您通常会在编写fluent接口时执行此操作,其中您将返回父对象以允许方法链接,您可以这样做:

var计算器=(函数(){
var i=0;
var public={};
public.add=函数(a){i+=a;返回public;}
public.sub=函数(a){i-=a;返回public;}
public.equals=函数(){return i;}
回归公众;
})();

log(calculator.add(2.sub(3.add)(20.equals())他可能在寻找返回父对象的函数,这样他就可以执行
fn1().fn2().fn1()…
问题没有指定这样的操作,所以我没有假设任何内容。可能是
 function1().function2();