- 什么是nodeJS
nodeJS是一个平台,是一个事件驱动I/O服务端JavaScript环境,同时也是一个基于Chorme(谷歌) V8引擎的JavaScript运行环境.V8引擎执行Javascript的速度非常快,性能非常好。
在学习nodeJs之前,需要了解浏览器是如何访问网站的 :
主要分为以下几个步骤
1),浏览器地址栏输入网址
2),浏览器通过用户在地址栏中输入的url构建http请求
3),浏览器发起DNS接线请求,将域名转化为IP地址
4),浏览器将请求报文发送给服务器
5),服务器接收请求报文,并解析
6),服务器处理用户请求,并将处理的结果封装成http响应报文
7),服务器将http响应的报文发送给浏览器
8),浏览器接收服务器相应的http报文,并解析
9),浏览器解析HTML界面并展示,在解析html页面时遇到新的资 源,需要再次发起请求
10),浏览器展示html界面(渲染)
- 开始学习nodeJS
首先在使用nodeJS之前需要在电脑中搭建nodeJS环境,搭建nodeJS所需要的安装文件及安装方法可以在 Node.JS中文网下载
下面附上链接 http://nodejs.cn/
在安装完成后可以使用nodeJS自带的环境编译器 : REPL(交互式解释器)
在终端中输入node
进入,输入.exit
或者双击CTRL+c 退出
- 全局变量
在node环境中不存在Window对象,但是有类似Window的global对象
在提到全局变量时,需要引入一个概念 : Node.js模块系统
为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统。
模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。
换言之,一个 Node.js 文件就是一个模块这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。
Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。
导出模块成员有两种方法:
var sum=100;
第一种方式: exports.sum=sum;
第二种方式: module.exports=sum;
下面介绍global中的一些对象 :
_ _filename : 表示当前正在执行的脚本的文件名。它将输出文件所在位置的绝对路径,且和命令行 参数所指定的文件名不一定相同。 如果在模块中,返回的值是模块文件的路径。
__dirname : 表示当前执行脚本所在的目录。
setTimeout(cb, ms) : 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。
clearTimeout(t) : 全局函数用于停止一个之前通过 setTimeout() 创建的定时器。参数 t 是通过 setTimeout() 函数创建的定时器。
setInterval(cb, ms) : 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。
console : 用于提供控制台标准输出
process : 是一个全局变量,即 global 对象的属性.