Javascript 在这个函数中,主体是如何传递给return语句的

Javascript 在这个函数中,主体是如何传递给return语句的,javascript,function,Javascript,Function,我一直在浏览某个代码库,遇到了如下所示的函数定义: function handleSuccess(res) { return (body = {}) => res.status(statusCode).jsend.success({ status: statusCode, success: true, ...body, }) } 然后按如下方式调用该函数: handleSuccess(res)({ message

我一直在浏览某个代码库,遇到了如下所示的函数定义:

function handleSuccess(res) {
    return (body = {}) =>
    res.status(statusCode).jsend.success({
        status: statusCode,
        success: true,
        ...body,
      })
}
然后按如下方式调用该函数:

handleSuccess(res)({ message: 'message' });

我似乎不明白主体({message:'message'})是如何传递给上述函数的return语句的。因此,如果您能在Javascript中帮助我了解此函数的工作原理,我将不胜感激。

handleSuccess
创建并返回一个函数(使用语法)。正在运行对它的调用(由于它之后的
(res)
),然后使用对象初始值设定项创建的对象调用它返回的函数

//  vvvvvvvvvvvvvvvvvv---------------------------- creates the function
    handleSuccess(res)({ message: 'message' });
//                    ^^^^^^^^^^^^^^^^^^^^^^^^ --- calls the function
对它的呼吁也可以这样写,这可能更清楚:

const handler = handleSuccess(res);
handler({ message: 'message' });
更多:


你能说出你认为的
=>
在JS中的意思吗?除非我们知道你对JS的看法,否则很难解释你的困惑。那是ES6,我理解这意味着什么,我唯一的问题是如何将主体传递给return语句或仅仅传递给函数,因为它没有在函数参数中定义。你问的是如何将参数传递给return,但它根本没有传递给返回,因此我提出了一个问题。也许我还不够清楚:我想问题是,body是如何分配对象{message:'message'}的。在您的示例中,函数
handleSuccess
有一个参数
res
。您能解释一下“如何将
handleSuccess
的参数分配给
res
”吗?如果您可以解释这一点,那么您就知道参数的值是如何分配给
body
的。如果你不能解释这一点,那么这就是应该首先解决的问题。那么,参数的值如何分配给形式参数
res