以下の例の単純な2層のcurrying
では、dogという語がy引数に渡されます。なぜ外部で、開始機能が最も内側の機能のように見えるのですか?
"use strict";
function layer2(x) {
return function(y) {
return console.log(x, y);
}
}
var layer1 = layer2('cat');
layer1('dog');
私はそれがこのように動作する知っていると私は確実にこれを再現することができます。しかし、私はこれがなぜ機能するのかを理解できません。私が100レイヤーのサンプルを作成した場合、レイヤー1は最も内側の関数になり、パターンはそのポイントから外側に働きます。これを引き起こす基本的なメカニックは何ですか?どんな入力でもありがとう!
投稿を2度読んだが、何が問題なのかまだ分かっていない。もう少し詳しくお聞かせください – Rajesh
関数をカリングするためのjavascriptのクロージャの概念を利用しています – ricky
JavaScriptのクロージャはどのように機能しますか?(https://stackoverflow.com/questions/111102/how-do- – Rajesh