最近我看到了这段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/