当前位置: 首页 > 后端技术 > Node.js

节点函数使用

时间:2023-04-03 14:25:22 Node.js

在JavaScript中,一个函数可以作为另一个函数的参数。我们可以先定义一个函数再传递,也可以在传递参数的地方直接定义函数。Node.js中函数的使用类似于Javascript。函数说(单词){console.log(单词);}functionexecute(someFunction,value){someFunction(value);}执行(比如,“你好”);在上面的代码中,我们使用say函数作为execute函数的第一个函数传递了一个变量。这里传递的不是say的返回值,而是say本身!这样say就变成了execute中的局部变量some??Function,execute可以通过调用someFunction()(带括号)来使用say函数。当然,既然say有一个变量,execute在调用someFunction的时候就可以传这样一个变量。node.js函数1.不带参数的函数functionsayhello(){console.log('HelloWorld');}sayhello()//运行结果HelloWorld2.functionwithparametersfunctionsayyouwrite(youwrite){console.日志(你写);}sayyouwrite('Hello')//运行结果Hello3.多参数函数functionsayyouwrite2(youwrite1,youwrite2,youwrite3){console.log(youwrite1+youwrite2+youwrite3);控制台日志(youwrite1);控制台日志(youwrite2);控制台日志(youwrite3);}sayyouwrite('Hello')//运行结果//你好!世界!你好,中国!//世界!//中国!4.匿名函数functionexecute(someFunc,value){someFunc(value)}execute(function(world){console.log(world)},"Helloworld")函数调用1.js文件内部函数调用varhttp=require('http')http.createServer(function(request,response){//发送HTTPheader//HTTPstatusvalue:200:OK//内容类型:text/plainresponse.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});if(request.url="/favicon.ico"){fun1(响应);response.end('')}}).listen(8888);functionfun1(res){console.log("Iamfun1")res.write("Hello,Iamfun1|")}//终端打印如下信息console.log('Serverrunningathttp://127.0.0.1:8888/');2.在其他js文件中调用函数varhttp=require('http')varfun2=require("./m2.js")http.createServer(function(request,response){//发送HTTP头//HTTP状态value:200:OK//Contenttype:text/plainresponse.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});if(request.url="/favicon.ico"){fun1(响应);fun2(响应);response.end('')}})。听(8888);函数fun1(res){console.log("Iamfun1")res.write("Hello,Iamfun1|")}//终端打印如下信息console.log('Serverrunningathttp://127.0.0.1:8888/');m2.js:functionfun2(res){console.log("Iamfun2")res.write("Hello,Iamfun2")}module.exports=fun2;//只引用一个函数3.调用多个其他js文件中的函数varhttp=require('http')varfunx=require("./m2.js")http.createServer(function(request,response){//发送HTTP头//HTTP状态值:200:OK//Content-Type:text/plainresponse.writeHead(200,{'Content-Type':'text/html;charset=utf-8'});if(request.url="/favicon.ico"){fun1(response);funx.fun2(response);//funx.fun2(response);funx.fun3(response);response.end('')}}).listen(8888);functionfun1(res){console.log("我很有趣1")res.write("你好,我很有趣1|")}//终端打印如下信息console.log('Serverrunningathttp://127.0.0.1:8888/');m2.jsmodule.exports={fun2:function(res){console.log("Iamfun2")res.write("Hello,Iamfun2|")},fun3:function(res){console.log("Iamfun3")res.write("Hello,Iamfun3")}}同时我们也可以替换funx.fun2(response);funx.fun3(响应);在带有funx['fun2'](response)的m1.js文件中;funx['fun3'](响应);或fname2='fun2';fname3='fun3';funx[fname2](响应);funx[fname3](响应);函数传递是HTTP服务器的工作方式varhttp=require("http");http.createServer(function(request,response){response.writeHead(200,{"Content-Type":"text/plain"});response.write("HelloWorld");response.end();}).listen(8888);等价于varhttp=require("http");功能onRequest(重新quest,response){response.writeHead(200,{"Content-Type":"text/plain"});response.write("你好世界");response.end();}http.createServer(onRequest).listen(8888);