额外的括号是什么
What is the extra set of parentheses for
我一直在学习 JavaScript 和 AngularJS,并且看到了带有一组额外括号的函数。这是什么?它是如何工作的?
例如:myFunc(args)(moreArgs)
.
额外的设置用于 运行 和 return 另一个功能。因此,使用您的示例:myFunc
将采用一个参数,return 将采用第二个函数(可以匿名命名):
function myFunc(args) {
return function (moreArgs) {
return args + ' ' + moreArgs;
};
}
var myMsg = myFunc("This")("works!");
alert(myMsg);
在javascript中一个函数可以return一个函数并且returned函数可以被立即调用。例如:
function a () {
return function () {
console.log('hello');
}
}
调用 returned 函数的一种方法是:
var b = a(); // b is now a function returned by a
b(); // logs "hello"
但在 javascript 你也可以这样做:
a()(); // calls the returned function immediately, logs "hello"
我一直在学习 JavaScript 和 AngularJS,并且看到了带有一组额外括号的函数。这是什么?它是如何工作的?
例如:myFunc(args)(moreArgs)
.
额外的设置用于 运行 和 return 另一个功能。因此,使用您的示例:myFunc
将采用一个参数,return 将采用第二个函数(可以匿名命名):
function myFunc(args) {
return function (moreArgs) {
return args + ' ' + moreArgs;
};
}
var myMsg = myFunc("This")("works!");
alert(myMsg);
在javascript中一个函数可以return一个函数并且returned函数可以被立即调用。例如:
function a () {
return function () {
console.log('hello');
}
}
调用 returned 函数的一种方法是:
var b = a(); // b is now a function returned by a
b(); // logs "hello"
但在 javascript 你也可以这样做:
a()(); // calls the returned function immediately, logs "hello"