Node.js関数
2333 ワード
Node.js関数
JavaScriptでは、関数は別の関数としてパラメータを受信することができます.まず関数を定義してから伝達してもいいし、伝達パラメータのところで直接関数を定義してもいいです.
Node.jsの関数の使用はJavascriptと似ています.例えば、このようにしてもいいです.
これにより、sayはexecuteのローカル変数someFunctionとなり、executeは、someFunction()を呼び出すことによってsay関数を使用することができる.
もちろん、sayには変数がありますので、executeはsomeFunctionを呼び出したときにこのような変数を伝えることができます.
匿名関数
変数として関数を伝えることができます.しかし、私たちは必ずしもこの「先に定義し、また伝達する」サークルの周りを回る必要はなく、直接に他の関数の括弧でこの関数を定義し、伝達することができます.
このようにして、私たちはこの関数に名前をつけなくてもいいです.これもなぜ匿名関数と呼ばれるのですか?
関数転送はどのようにHTTPサーバを動作させますか?
これらの知識を持って、簡単ではなく簡単なHTTPサーバを見に来ました.
このようなコードを使っても同じ目的を達成できます.
JavaScriptでは、関数は別の関数としてパラメータを受信することができます.まず関数を定義してから伝達してもいいし、伝達パラメータのところで直接関数を定義してもいいです.
Node.jsの関数の使用はJavascriptと似ています.例えば、このようにしてもいいです.
function say(word) {
console.log(word);
}
function execute(someFunction, value) {
someFunction(value);
}
execute(say, "Hello");
以上のコードでは、say関数をexecute関数の最初の変数として伝達しました.ここで戻ってくるのはsayの戻り値ではなく、say自身です.これにより、sayはexecuteのローカル変数someFunctionとなり、executeは、someFunction()を呼び出すことによってsay関数を使用することができる.
もちろん、sayには変数がありますので、executeはsomeFunctionを呼び出したときにこのような変数を伝えることができます.
匿名関数
変数として関数を伝えることができます.しかし、私たちは必ずしもこの「先に定義し、また伝達する」サークルの周りを回る必要はなく、直接に他の関数の括弧でこの関数を定義し、伝達することができます.
function execute(someFunction, value) {
someFunction(value);
}
execute(function(word){ console.log(word) }, "Hello");
executeで最初のパラメータを受け入れるところで直接にexecuteに伝達する関数を定義した.このようにして、私たちはこの関数に名前をつけなくてもいいです.これもなぜ匿名関数と呼ばれるのですか?
関数転送はどのように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);
今ははっきりと見えますが、私たちはクリアーServer関数に匿名の関数を伝えました.このようなコードを使っても同じ目的を達成できます.
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);