什么是 Node.jsnode
Node.js就是运行在服务端的JavaScript。编程
Node.js是一个基于Chrome JavaScript运行时创建的一个平台。设计模式
Node.js是一个事件驱动 I/O 服务端的JavaScript环境。基于Google v8引擎api
接下来咱们建立第一个应用 server.js并发
var http = require('http'); http.createServer(function (request, response) { // 发送 HTTP 头部 // HTTP 状态值: 200 : OK // 内容类型: text/plain response.writeHead(200, {'Content-Type': 'text/plain'}); // 发送响应数据 "Hello World" response.end('Hello World\n'); }).listen(3000); // 终端打印以下信息 console.log('Server running at http://127.0.0.1:3000/');
运行 node server.js 能够启动上服务异步
Node.js REPL (交互式解析器 --> Read-Eval-Print-Loop)异步编程
命令:node 进入 执行 打印 循环 ; ctrl+c 两下退出函数
Node.js 的回调函数oop
Node.js的异步编程的直接体现就是回调性能
d2.txt
文件中 写入 Rain_tdk
fs.js
var fs = require('fs') //阻塞代码执行的写法 var ds = fs.readFileSync('d2.txt') console.log(ds.toString()) console.log('阻塞代码执行') //非阻塞代码执行的写法 fs.readFile('d2.txt',function (err,data) { if(err) console.log(err); console.log(data.toString()) }) console.log('不阻塞代码执行')
执行结果: 非阻塞代码的写法能极大的提升Node.js 的性能(提醒:Node.js 中全部的api 都支持回调函数)。能够处理大量的并发请求。
Node.js事件回调
Node.js是单进程单线程应用程序,可是能够经过事件和回调支持并发,因此性能很高。
Node.js的每个api都是一部操做的,并做为一个独立的线程运行,使用异步函数调用,并发处理。
Node.js基本上全部的事件机制都是用设计模式中的观察者模式实现的。
Node.js 单线程相似进入一个while(true)的事件循环,直到没有事件观察者退出,每一个异步事件都生成一个事件观察者,若是有事件发生就调用该回调函数.