Node.js函数

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

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

下面写两个例子。

先定义函数,在进行传递

// 定义函数say
function 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,然后在进行传递。两种方法都可以


ˉˉˉ以默轩然
11 声望1 粉丝