ホームページ > 記事 > ウェブフロントエンド > ## コールバック関数のパラメータは JavaScript のどこから来るのでしょうか?
JavaScript コールバック関数のパラメーターはどこから発生しますか?
コールバック関数のコンテキストでは、req などのパラメーターはどこから発生しますか? Node.js の例の res はどこから来ていますか?この疑問は、コールバック関数がパラメータとして別の関数に渡された後に実行されるときに生じます。
コールバック関数のパラメータの謎を解く
これらのパラメータの起源を理解するには、次のようにします。これらは通常の非コールバック関数と同じソース、つまり呼び出し時から来ていることを覚えておくことが重要です。
次の非コールバック関数を考えてみましょう。
<code class="javascript">function add(a, b) { return a + b; }</code>
この中でたとえば、a と b は add 関数の呼び出しから来ていることがわかります。
<code class="javascript">add(1, 2);</code>
同じ原則がコールバック関数にも当てはまります。パラメータは、呼び出し時に渡されます。
コールバック関数の呼び出しコンテキスト
Node.js の例の場合、コールバック関数が呼び出されます。 router.get が実行されたとき。 router.get の簡略化された定義を想像してみましょう。
<code class="javascript">router.get = function(endpoint, cb) { // Do something var request = {}; var response = {}; cb(request, response); // Invocation time };</code>
router.get が特定のエンドポイントとコールバック関数で呼び出されると、要求オブジェクトと応答オブジェクトが作成され、それらがパラメーターとしてコールバックに渡されます。
あなたの例では、.get が呼び出されるとき、Node.js はリクエストとレスポンスをコールバック関数に渡す責任を負い、明示的に宣言しなくてもそれらを利用できるようにします。
以上が## コールバック関数のパラメータは JavaScript のどこから来るのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。