Javascript 额外的括号是什么意思

Javascript 额外的括号是什么意思,javascript,nested-function,Javascript,Nested Function,我一直在学习JavaScript和AngularJS,并且看到了带有一组额外括号的函数。这是什么?它是如何工作的? e、 g.:myFunc(args)(moreArgs)额外设置用于运行和返回另一个函数。因此,使用您的示例:myFunc将接受一个参数并返回第二个函数(可以匿名命名): 额外设置用于运行和返回另一个函数。因此,使用您的示例:myFunc将接受一个参数并返回第二个函数(可以匿名命名): 在javascript中,函数可以返回函数,并且可以立即调用返回的函数。例如: function

我一直在学习JavaScript和AngularJS,并且看到了带有一组额外括号的函数。这是什么?它是如何工作的?
e、 g.:
myFunc(args)(moreArgs)

额外设置用于运行和返回另一个函数。因此,使用您的示例:
myFunc
将接受一个参数并返回第二个函数(可以匿名命名):


额外设置用于运行和返回另一个函数。因此,使用您的示例:
myFunc
将接受一个参数并返回第二个函数(可以匿名命名):


在javascript中,函数可以返回函数,并且可以立即调用返回的函数。例如:

function a () {
    return function () {
        console.log('hello');
    }
}
调用返回函数的一种方法是:

var b = a(); // b is now a function returned by a
b(); // logs "hello"
但在javascript中,您还可以执行以下操作:

a()(); // calls the returned function immediately, logs "hello"

在javascript中,函数可以返回函数,并且可以立即调用返回的函数。例如:

function a () {
    return function () {
        console.log('hello');
    }
}
调用返回函数的一种方法是:

var b = a(); // b is now a function returned by a
b(); // logs "hello"
但在javascript中,您还可以执行以下操作:

a()(); // calls the returned function immediately, logs "hello"


用这样的代码很难说,但可能是
myFunc(args)
返回了一个函数。你能提供一个通配符的例子吗?@Dmitry不确定这个例子。。我以为我提供的就是一个例子。我只是偶然发现了它,不知道它是如何运作的。接近选民:这个问题怎么办还不清楚?这只是解析ECMAScript语法下提供的语句的一种方法,即使它在语法上有歧义,标识符名称(
myFunc
args
)也清楚地表明了语句的读取方式。这个问题是完全可以理解和回答的,正如已经发布的两个正确答案所证明的。用这样的代码很难判断,但可能是
myFunc(args)
返回了一个函数。你能提供一个野生的例子吗?@Dmitry对这个例子不确定。。我以为我提供的就是一个例子。我只是偶然发现了它,不知道它是如何运作的。接近选民:这个问题怎么办还不清楚?这只是解析ECMAScript语法下提供的语句的一种方法,即使它在语法上有歧义,标识符名称(
myFunc
args
)也清楚地表明了语句的读取方式。这个问题是完全可以理解和回答的,正如已经发布的两个正确答案所证明的。谢谢,这使我们看到了实际的功能。这是否意味着您可以返回多个函数?老实说,我知道您可以返回比我上面演示的更多的函数,但我不确定限制是什么(如果有)。我希望您可以返回所需的任意多个值,但我不确定这有多实际。@myPClovesME函数一次只能返回一个值。不过,您可以嵌套返回的函数。这里,我们有一个函数,它返回一个函数,该函数返回一个字符串。我们可以用一个函数来代替,该函数返回一个函数,该函数返回一个字符串。(或者返回一个函数,函数返回一个函数,返回一个函数…)@ MypCulsVIEME还考虑返回一个无限函数的可能性,函数返回自身:<代码>函数fo(完成){{(完成)}返回“全部完成”;}否则{Fo;}} /代码>您可以用“代码> Foo(false)调用它。(false)(false)(false)(false)(false)(true);@apsillers这真是太好了。谢谢大家的帮助!谢谢你们,这让我看到了实际的函数。这是否意味着你们可以返回多个函数?老实说,我知道你们可以返回比我上面演示的更多的函数,但我不确定限制是什么(如果有的话)。我希望您可以返回所需的任意多个值,但我不确定这有多实际。@myPClovesME一个函数一次只能返回一个值。不过,您可以嵌套返回的函数。在这里,我们有一个函数返回一个返回字符串的函数。我们可以使用一个函数返回一个返回字符串的函数RNS是一个返回字符串的函数。(或者返回一个函数返回返回返回的函数的函数)@ MypCulsVIEME还考虑返回一个无限函数的可能性,该函数返回一个函数:<代码>函数FO(完成){{(完成)}返回“全部完成”;}否则{Fo;}}返回。你可以用
foo(false)(false)(false)(false)(false)(false)(true);
@apsillers来称呼它,真是太棒了。谢谢大家的帮助!