Node.js函数

在JS语言中,一个函数可以作为另一个函数的参数。可以先定义在传递,也可以直接使用匿名函数进行传递。

Node.js中函数的使用与JS类似,基本差不多。

下面写两个例子。

先定义函数,在进行传递

// 定义函数sayfunction say(val){    console.log(val)}// 我们将say函数作为execute第一个参数进行传递,这样以来,say函数就变成了execute中的本地变量someFunction// exectue可以通过调用someFunction()来使用say函数,say函数有一个变量,在调用的时候我们可以传递一个变量。function execute(someFunction, val) {    someFunction(val)}execute(say,'思否')

这个例子就是先定义函数,然后将定义的函数作为参数给另一个函数使用。

还有一种就是直接使用匿名函数

function execute(somefunction, val) {    somefunction(val)}execute(function(val){console.log(val)}, '思否')

这种方式就是直接使用匿名函数进行传递,我们在execute接收第一个参数的地方直接定义了我们准备传参的函数。

两种方式都可以,相比较先定义在传递,匿名函数写起来更简洁,如果有一些不需要重复调用的场景,可以使用这种方式。

了解函数传递以后,我们在来看函数传递如何让HTTP服务器工作的。

// 匿名函数传递const http = require('http')http.createServer((request , response) => {    response.writeHead(200, {'Content-Type': 'text/plain'})    response.write('Hello World')    response.end()}).listen(8888)

http.createServer方法中第一个参数我们直接以匿名函数的方式直接书写。

const http = require('http')// 先定义在传递function onRequest(request, response) {    response.writeHead(200,{'Content-Type': 'text/plain'})    response.write('Hello sifou.com')    response.end()}http.createServer(onRequest).listen(8888)

这段代码我们先定义函数onRequest,然后在进行传递。两种方法都可以