Javascript 执行返回函数的语法

Javascript 执行返回函数的语法,javascript,Javascript,如果我从如下所示的函数返回一个函数,我如何执行它并设置参数 var func1 = function(param){ // do stuff }; function returnFunction(){ return func1; } returnFunction() // this will return func1 but I want to execute it with certain param. 您可以像平常一样执行它: returnFunction()("wha

如果我从如下所示的函数返回一个函数,我如何执行它并设置参数

var func1 = function(param){
    // do stuff
};

function returnFunction(){
    return func1;
}

returnFunction() // this will return func1 but I want to execute it with certain param.

您可以像平常一样执行它:

returnFunction()("whatever");
这是一个例子

为了让它更容易阅读:

var fn = returnFunction();
fn("whatever");

与任何其他函数调用一样:

returnFunction()(foobar)

你似乎把函数看作是一些

调用函数不是魔术 然而,函数只是一个可以由运算符操作的值

是的!你看起来很奇怪!在某种程度上与非常相似,只是在操作数之前写入,而在操作数之后写入。他们获取一个值,操作它,然后返回一个值,这就是它的全部内容

理解了这一点后,x看起来并不奇怪,它只是不寻常:x显然是一个函数,它返回一个函数,它返回一个函数,它返回一些东西:值x

将这一新的理解应用到您的示例中 正如您已经知道的,returnFunction将返回func1。因此,整个表达式returnFunction生成值func1,由于可以将运算符应用于值,因此只需执行以下操作:

returnFunction()(arg)

好的,谢谢。第一个答案。现在已经结束了。应该先试试最简单的方法。这看起来很奇怪。@hiro主角:你不能结束问题。“所以,你接受他们。”主角-是的,看起来确实有点奇怪。如果您将returnFunction的结果分配给一个变量,那么您就可以调用它,这样看起来就不会那么奇怪了!