Latest web development tutorials

Node.js를 기능

자바 스크립트에서 다른 함수에 매개 변수로 함수를받습니다. 우리는 함수를 정의하고, 그 장소의 전달 함수를 직접 정의 할 전달할 수있다.

자바 스크립트와 유사한 기능을 사용 Node.js를, 예를 들어, 당신은이 작업을 수행 할 수 있습니다 :

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);