Node.jsの機能
JavaScriptでは、別の関数へのパラメータとしての機能を受け取ります。 私たちは、関数を定義して、場所の伝達関数内で直接定義されるように渡すことができます。
Node.jsのは、たとえば、あなたがこれを行うことができ、Javascriptのと同様の機能を使用します。
function say(word) { console.log(word); } function execute(someFunction, value) { someFunction(value); } execute(say, "Hello");
上記のコードは、私たちは関数を実行する最初の引数として関数が渡されたと言います。 この戻りは言うの戻り値ではなく、自分自身を言います!
このように、と言うには、ローカル変数someFunctionを実行する機能の使用を言って()(括弧の形で)someFunctionを呼び出すことで実行になります。
変数があると言うので、もちろん、someFunctionを呼び出すときに、このような変数を渡すことができます実行します。
無名関数
私たちは、引数として渡された関数を置くことができます。 しかし、我々はこのことについてサークル」、最初に定義し、次に渡す」を持っていない、我々は括弧内に別の関数を定義し、この関数を渡すことができます。
function execute(someFunction, value) { someFunction(value); } execute(function(word){ console.log(word) }, "Hello");
我々は機能を実行するために合格する準備ができている場合に実行する直接定義するには、我々は最初の引数を受け入れます。
このように、私たちも、それは匿名関数と呼ばれている理由である、この関数の名前がありません。
伝達関数は、HTTPサーバーの作業を取得する方法です
この知識では、我々は単純ではなく、単純なHTTPサーバーを見て:
var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(8888);
今では明確にする必要がありはるかになります。私たちは、createServer関数に匿名関数を渡します。
このようなコードは、同じ目的を達成することができます。
var http = require("http"); function onRequest(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); } http.createServer(onRequest).listen(8888);