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的结果分配给一个变量,那么您就可以调用它,这样看起来就不会那么奇怪了!