javascript - "return function() { ... }"在 JavaScript 中有什么作用?

标签 javascript function

最近我看到了这段JavaScript代码,但是一直无法理解它在做什么。

var f = function(a) {
    return function() {
        alert(a());
    };
};
f(function() { return "Hello World"; })(); 

请解释这完成了什么!

最佳答案

它执行f返回的函数。
f 返回一个调用警报的函数,该警报显示您作为参数提供给 f 的函数的输出。

编辑: 只需替换一些部件以使其更美观,您就会看到自己:

var f = function(a) {
    var output = a();
    var alertCaller = function() {
        alert(output);
    };
    return alertCaller;
};

var helloWorld = function() { return "Hello World"; }
var result = f(helloWorld); //f takes a function as argument
result(); //result must be a function

关于javascript - "return function() { ... }"在 JavaScript 中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1588891/

相关文章:

javascript - 文档/代码 老 Mishoo 的日历 javascript 内联

javascript - 你如何使用 JavaScript 读取 CSS 规则值?

javascript - typescript ,JSON.parse 错误 : "Type ' null' is not assignable to type 'string' .“

javascript - JavaScript 'bind' 方法有什么用?

Javascript - 计算两个相关字段之间的剩余部分

javascript - 使用 iScroll 将类添加到当前页面

javascript - 如何升级我的 createElement 函数,使样式标签内的属性和值可以以对象而非字符串的形式编写?

c - 函数返回结构错误

python - 列表列表的切片行为问题

c 数组函数