我正在学习JavaScript,我找到了这个例子
say("Hello")("World");
此代码应返回“Hello World”。
我不知道如何实现这个甚至是什么关键字类型谷歌找到soulution。您能否告诉我这个模式的名称或者如何在JavaScript中实现它?
答案 0 :(得分:4)
你可以这样做:
function say(firstword){
return function(secondword){
return firstword + " " + secondword;
}
}
尽管如此,你永远不会这样做。我确定这只是为了教你函数如何返回可执行函数。
这里有更多这种模式的例子:
答案 1 :(得分:4)
可能你可以尝试闭包:
var say = function(a) {//<-- a, "Hello"
return function(b) {//<-- b, "World"
return a + " " + b;
};
};
alert(say("Hello")("World")); //<-- "Hello World"
这里,当调用say("Hello")
时,它返回内部块。稍后调用("World")
调用内部块返回连接字符串&#34; Hello World&#34;