Latest web development tutorials

funzione Node.js

In JavaScript, una funzione come parametro a un'altra funzione riceve. Possiamo definire una funzione, e quindi passare da definire direttamente nella funzione di trasferimento del luogo.

Node.js utilizzare una funzione simile a Javascript, per esempio, si può fare questo:

function say(word) {
  console.log(word);
}

function execute(someFunction, value) {
  someFunction(value);
}

execute(say, "Hello");

Il codice di cui sopra, diciamo la funzione come primo argomento eseguire funzioni sono state approvate. Questo ritorno non è il valore di ritorno di dire, ma dire si!

Così, dire diventa eseguire variabili locali someFunction, eseguire chiamando someFunction () (nella forma di parentesi) a dire l'uso della funzione.

Naturalmente, perché dire che c'è una variabile, eseguire può passare una tale variabile al momento della chiamata someFunction.


funzione anonima

Siamo in grado di mettere una funzione passata come argomento. Ma noi non dobbiamo su questo "prima definito, e poi passare," il cerchio, possiamo definire un'altra funzione tra parentesi e superare questa funzione:

function execute(someFunction, value) {
  someFunction(value);
}

execute(function(word){ console.log(word) }, "Hello");

Accettiamo il primo argomento nella definisce eseguire direttamente dove siamo pronti a passare per eseguire la funzione.

In questo modo, non hanno nemmeno un nome per questa funzione, è per questo che si chiama una funzione anonima.


Funzione di trasferimento è come ottenere il lavoro del server HTTP

Con questa conoscenza, guardiamo al nostro server HTTP semplice, ma non è semplice:

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(8888);

Ora sembra molto dovrebbe essere chiaro: si passa una funzione anonima alla funzione createServer.

Tale codice può anche raggiungere lo stesso scopo:

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