Functional JavaScriptを読み始めたところ、すぐに理解できない関数が紹介されました。
function splat(fun) {
return function(array) {
return fun.apply(null, array);
};
}
var addArrayElements = splat(function(x, y) { return x + y });
addArrayElements([1, 2]);
//=> 3
どのように機能しますかsplat(function(x, y) { return x + y })。array[1,2]で呼び出されますが、 への呼び出し内の無名関数はsplat、1 つの配列ではなく 2 つのパラメーターを取るようです。
console.log(fun)このコードの 2 行目に置くと、それfunが anonymous の全体であることがわかりfunction(x, y) { return x + y }ます。console.log(array)afterreturn function(array) {は、配列が であることを示してい[1, 2]ます。じゃあどこarrayから来るの?
どうもありがとう。