- Node.js概述
- 对比JS
Node.js 是运行在服务器端的js解释器(一种环境)
JS运行在客户端浏览器,存在多款浏览器,有兼容性问题,Node.js运行在服务器端,只有一张解释器谷歌v8引擎,不存在兼容性问题
两者都有共同的内置(ES)对象,自定义对象,不同的宿主对象
JS用于操作网页,实现用户交互;Node.js用于服务器端开发,例如数据库访问,其他服务器的调用
(2)运行方式
脚本模式
node 拖拽脚本文件 回车
交互模式
node 回车 进入交互模式
两次ctrl+c 退出交互模式
(3)特点
是单线程运行逻辑,适合做I/O操作为主应用,支持数万个并发链接,例如:基于社交网络的大规模WEB应用
不适合做CPU密集型的应用
2.全局对象
(1)global
检测一个变量或者函数是否为全局的
交互模式属于全局作用域,变量和函数都是全局的,可以通过giobal访问
脚本文件中不属于全局作用域,变量和函数都是局部的
JS的全局global叫做window
(2)console对象
console.log(1);//打印日志
console.info(2);//打印消息
console.warn(3);//打印警告
console.error(4);//打印错误
console.time(5);//开始计时
console.timeEnd(6);//结束计时
开始计时和结束计时的值要保持一致
(3)process
进程对象,用来管理node.js这个进程
启动任何一个软件都是代表调用的进程
process.arch 查看当前CPU架构
process.platform 查看操作系统
process.version 查看当前node.js的版本
process.pid 查看当前进程的编号
process.kill() 结束指定编号的进程
(4)Buffer
缓冲器\缓冲区,是内存中一块临时存储数据的区域
var buf=Buffer.alloc(5,’abcde’) //创建buffer,分配空间大小为5个字节,并存储数据,每个汉字占3个字节 buf.toString() //将buffer转为字符串 |
3.模块
每个文件代表一个模块,模块表示一个功能体
require:是一个函数,用于引入其他的模块,得到对方导出的对象
module:当前模块的对象
module.exports:当前模块导出的对象,默认是一个空对象,如果要导出哪些内容只需要放入到这个对象