私は何年ものプログラミング経験がありますが、私の背景はJavascriptではありません。これに加えて、今日のJavascriptは私が何年も前にやったJavascriptではないという事実です。はるかに洗練された強力です。つまり、私はいくつかの関数のペイロードダイナミクスを理解するのに苦労しています。JavaScript関数の読み込み
関数が実際に何かを返す関数呼び出しは直感的ですが、Javascriptは頭がおかしい機能で何かをするようです。私はちょうどコードをコピー/ペーストすることができます、または私は自分のコードでこのパターンを再利用する方法を試してみることができます。
たとえば、次のMongoose呼び出しは、Userモデル内のすべてのレコードの検索を行い、呼び出しの結果は、渡された関数の2番目の引数(参照先)で終了します。
User.find({}, function(err, users) { // Get all the users
if (err) throw err;
console.log(users); // Show the JSON Object
});
単純なforEachを配列に使用した別の例を次に示します。どうにかして、forEachは 'user'引数を設定します。
users.forEach(function(user) {
console.log(user.username, ': Admin = ', (user.admin ? 'Yes' : 'No'));
});
誰でもこれを説明することができますか、どのように/なぜこの作品が良いのガイドを教えてください?
Node.js全体で同じパターンが見られましたが、それはちょっとした障害です。
私は何かが分かりませんでしたか、これは機能プログラミングに関する特殊なものですか?
ジョン
研究 'javascriptコールバック'。 – charlietfl
このテクニックのより一般的な理解が必要な場合は、[継続パッシングスタイル](https://en.wikipedia.org/wiki/Continuation-passing_style)を参照してください。 – naomik
このスタイルでは本当に新しいことは何もありません。最も初期のjavascriptバージョンでは、イベントハンドラとしてコールバックが使用されていました。 – Bergi