node.js 学习笔记入门及函数调用

Posted 木鲸鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node.js 学习笔记入门及函数调用相关的知识,希望对你有一定的参考价值。

一、下载安装 node.js

1.1 下载 node.js
2.2 安装 node.js

双击运行安装文件,一直next即可。
检测是否安装成功:打开cmd窗口,输入命令:node -v,提示node的版本号,表示安装成功。

二、编写第一个node.js程序

2.1 编写helloworld.js文件

温馨提示:有能力者可直接看官方入门文档:https://nodejs.org/dist/latest-v8.x/docs/api/synopsis.html

创建一个名称为helloworld.js的文本文件,用文本编辑器打开,并编写以下代码:

// helloworld.js
var http = require('http');
http.createServer(function (request, response) {
   response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
   if(request.url!=="/favicon.ico"){  //清除第2此访问
       console.log('访问');
       response.write('hello world ');
       response.end('hello 世界');//不写则没有http协议尾,但写了会产生两次访问
   }
}).listen(8000);
console.log('Server  running  at  http://127.0.0.1:8000/');
/*
启动服务
cmd下执行:
node  n1_hello.js
浏览器访问:http://localhost:8000
*/

代码说明:

  if(request.url!=="/favicon.ico"){
 }

代码块的作用,是防止浏览器访问了一次localhost:8000,会默认再次访问localhost:8000/favicon.ico

2.2 运行helloworld.js程序

cmd窗口,将访问路径改变到helloworld.js文件当前文件目录下或者在helloworld.js文件当前文件目录下,按住Shift+右键,选择在此处打开命令窗口,输入指令:node helloworld,控制台输出:Server running at http://127.0.0.1:8000/,使用浏览器访问:http://127.0.0.1:8000/,即可出现 hello world! hello 世界文字。

三、函数调用

3.1 函数的内部调用

函数的内部调用是指在本 js 文件中调用本 js 文件中的函数调用。创建一个function1.js文件,编写内部函数fun1,在主函数中直接调用即可。

// function1.js
var http = require('http');
http.createServer(function (request, response) {
   response.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
   if(request.url!=="/favicon.ico"){  //清除第2此访问
   // 调用内部的 fun1 函数
   fun1(response);
       response.end('');//不写则没有http协议尾,但写了会产生两次访问
   }
}).listen(8000);
console.log('Server  running  at  http://127.0.0.1:8000/');
//---普通内部函数
function  fun1(res){
   res.write("hi, i am fun1");
}
3.2 函数的外部调用
3.2.1 单一外部函数调用

函数的外部调用指在本 js 文件中调用其他 js 文件中的函数。在function1.js文件目录下,创建model文件夹,在其文件夹下创建:otherfun.js文件,编写代码:

// otherfun.js
// 定义了一个fun2函数
function fun2(res) {
   console.log("fun2");
   res.write("hi, i am fun2");
}
// 只导出一个函数
module.exports = fun2;

function1.js文件中调用外部的otherfun.js文件中的fun2函数:
先引用otherfun.js文件,再调用函数:

// 调用外部模块
var otherfunction = require("./models/otherfun.js");
var  http  =  require('http');
http.createServer(function  (request,  response)  {
   response.writeHead(200,  {'Content-Type':  'text/html;  charset=utf-8'});
   if(request.url!=="/favicon.ico"){  //清除第2此访问
   // 调用外部函数
   otherfunction(response);
       response.end('');//不写则没有http协议尾,但写了会产生两次访问
   }
}).listen(8000);
console.log('Server  running  at  http://127.0.0.1:8000/');

代码说明:
因为在otherfun.js文件中使用了module.exports = fun2;进行导出函数,其otherfun.js只能导出一个函数,因此可以直接使用引用的名进行函数调用。

3.2.2 多个外部函数调用

在被调用的 js 文件中,使用module.exports = { }调用多个函数:

// otherfun.js
// 支持多函数
module.exports = {
   fun3:function(res) {
       console.log("fun3");
       res.write("hi, i am fun3<br/>");
   },
   fun4:function(res) {
       console.log("fun4");
       res.write("hi, i am fun4");
   }
}
/*
function fun2(res) {
   console.log("fun2");
   res.write("hi, i am fun2");
}
module.exports = fun2; // 支持单一函数
*/

调用外部函数,可以使用外部 js 变量名.函数名,也可以使用外部 js变量名["函数名"]进行调用,推荐使用后者。

// function1.js
// 引用外部函数
var otherfunction = require("./models/otherfun.js");
var  http  =  require('http');
http.createServer(function  (request,  response)  {
   response.writeHead(200,  {'Content-Type':  'text/html;  charset=utf-8'});
   if(request.url!=="/favicon.ico"){  //清除第2此访问
       // 调用内部的 fun1 函数
       //fun1(response);
       // 外部函数
       //otherfunction(response);
       // 推荐使用这用调用外部函数的方式
       otherfunName = "fun3";
       otherfunction[otherfunName](response);
       // 不推荐这种外部函数的方式
       otherfunction.fun4(response);
       response.end('');//不写则没有http协议尾,但写了会产生两次访问
   }
}).listen(8000);
console.log('Server  running  at  http://127.0.0.1:8000/');
//---普通函数
function fun1(res){
   res.write("hi, i am fun1");
}

- END -

赞赏也是一种支持


欢迎关注:木鲸鱼

以上是关于node.js 学习笔记入门及函数调用的主要内容,如果未能解决你的问题,请参考以下文章

node.js学习笔记之调用函数

node.js学习笔记——回调函数

系列文章--Node.js学习笔记系列

Nodejs学习笔记----- 模块系统和函数

Nodejs学习笔记

nodejs学习笔记 --回调函数