4
私はフェイスブックのJavaScriptのいくつかを読んで、私はの目的を見つけ出すことができませんでした好奇心機能に出くわした:私はを伝えることができる限りこの関数はFacebookのJavaScriptソースで何をしますか?
function bagof(a) {
return function() {
return a;
};
}
を:
bagof
をパラメータa
を受け付ける関数です。bagof
は、すぐに無名関数を返します。- 返された関数は元のパラメータ
a
を返します。
私はbagof
の使用量がこのようなものになるだろうことを前提としています:
newFunction = bagof("This is the data");
console.log(newFunction()); //Logs "This is the data"
ポイントは何ですか? a
に渡された変数や関数を直接使用したり保存したりするのはなぜですか?
The source fileは、アプリケーションに多くのユーティリティ関数が含まれているようです。
をので、関数が実際に何かを「行う」が、簡単に他の関数を作成するための速記として機能していないのですか? –
@MichaelJasper:いいえ、副作用がなく、何も計算しません。その唯一の目的は関数を作成すること、[ファクトリメソッドパターン](http://en.wikipedia.org/wiki/Factory_method_pattern) –