乐趣区

Nodejs函数

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,然后在进行传递。两种方法都可以

退出移动版