0

関数に頭を悩ませようとして、雄弁な JavaScript を読んで、次のサンプル コードを読みました。

function makeAddFunction(amount) {
  function add(number) {
    return number + amount;
  }
  return add;
}

var addTwo = makeAddFunction(2);
var addFive = makeAddFunction(5);
show(addTwo(1) + addFive(1));

私はそれの要点を理解しましたが、コードを調べ、付随するテキストを数時間にわたって何度も読んだので、これは私にとってはクリックできませんでした: このコードは正確に何をしているのですか? 関数はどこでパラメータaddを取得しnumberますか? showそれはコマンドから来るのですか?もしそうなら、それはどのように渡されますか?見えないだけ…

4

3 に答える 3

1

add 関数は number パラメータをどこで取得しますか?

=> add の引数として数値が渡されます。と書くaddTwo(1)と1が数値パラメータになります。

addTwo 関数はどこで amount パラメータを取得しますか?

=> これをクロージャーと呼びます。を実行するmakeAddFunction(2)と、値 2 が amount として渡され、add 関数によって取得されます。

于 2013-09-24T19:02:24.303 に答える