JavaScript コールバック関数のパラメータの起源
JavaScript では、コールバック関数はパラメータとして他の関数に渡されて実行されます。コールバック関数内で使用される変数の起源を理解すると、混乱の原因になる可能性があります。
Node.js の例:
router.get('/', function(req, res){ res.render('index', {}); });
変数 req と res は、どこからともなく出現するように見えます。ただし、これらは関数呼び出しの変数と同じ方法で生成されます。
この非コールバック関数を例に挙げます。
function add (a, b) { return a + b }
変数 a と b は関数から取得されることがわかります。 invocation:
add(1,2)
同じ原則がコールバック関数に適用されます。 router.get に渡された関数が呼び出されると、req と res をパラメータとして受け取ります。
内部的には、router.get の定義は次のようになります。
router.get = function(endpoint, cb){ //do something var request = {} var response = {} cb(request, response) // invocation time }
この例では, get が呼び出されるときに、ノードはリクエストとレスポンスをパラメータとしてコールバック関数に渡します。
以上が質問の形式と記事の焦点を考慮した、いくつかのタイトルのオプションを次に示します。 **直接的かつ簡潔:** * **JavaScript コールバック関数の変数はどこから来ますか?** * **調子はどうですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。