Node.js是运行在服务器端的JS解释器
什么是Javascript?
- 1995年由Netscape公司推出,后经ECMA统一标准的脚本语言。通常狭义上理解的JS是指在浏览器内置的JS解释器中运行的,主要用途是操作网页内容,实现用户交互。什么是 Node.js?
- 2009年由Ryan Dahl开发,现由Node.js Foundation维护,基于Google V8引擎的JS运行时环境,其运行完全脱离浏览器,可以编写独立的服务器端程序。主要用途为文件读写、网络访问、加密压缩、数据库操作等等。
一官方网站:www.nodejs.org
一中文镜像网站:www.nodejs.cn
- Node.js概述
(1)对比JS.
JS运行在客户端浏览器,存在多款浏览器,有兼容性问题;Node.js运行在服务器端,只有一种解释器谷歌V8引擎,不存在兼容性问题
两者都有共同的内置(ES)对象,自定义对象,不同的宿主对象
JS用于操作网页,实现用户交互;Node.js 用于服务器端开发,例如数据库访问,其它服务器的调用
(2)运行方式
脚本模式 node拖拽脚本文件 回车
交互模式 node回车进入交互模式两次ctrl+c或ctrl+d 退出交互模式
(3)Node.js的特点
单线程逻辑处理
适合做I/O操作为主应用
支持数万个并发连接
简单,避免过度设计
非阻塞的异步l/O处理
事件驱动编程
无锁机制,不会产生死锁
Node.js适合搭建以IO操作为主、响应速度快、易于扩展的网络应用,例如:
-命令行工具
-带有GUI界面的本地应用程序-交互式终端程序
-单元测试工具
-基于社交网络的大规模Web应用- Web Socket服务器
- TCP/UDP套接字程序-客户端Javascript编译器
Node.js不适合CPU密集型应用,例如:一深层次的嵌套和递归
-复杂加密和解密算法-高可靠性运算
-严格内存管理
一数据挖掘和数据分析