javascript中的函数()()

function ()() in javascript

本文关键字:函数 javascript      更新时间:2023-09-26

我不知道如何调用/框定这个问题的标题,但有人能解释一下下面的代码是做什么的吗?

var routes = require("./routes/routes.js")(app);

我看到一个second ()正在传递应用程序,这是怎么回事?https://github.com/couchbaselabs/restful-angularjs-nodejs/blob/master/app.js

令我惊讶的是,在上面的代码中,变量routes根本没有在app.js中使用?目的是什么。我很困惑(app) argument在这里有魔法吗?

构造

foo()();

期望foo()返回一个函数并立即调用它。它相当于可读性更强的:

var func = foo();
func();

你经常看到的一个类似的结构是:

(function() {
    // function definition
})(args);

这定义了一个函数并立即调用它。主要用途是模拟变量的块范围。