Node
简介
- 官网: https://nodejs.org
- 中文文档: http://nodejs.cn/api
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。
简单说,node 就是一个可以运行 JavaScript 代码的环境,不是一门编程语言,可以做服务端开发。
- node 运行的 js 是指 ECMAScript,不能运行 BOM 和 DOM 的 API(如
window
、document
等对象),可以使用 console 和定时器等- node 中的顶级对象是
global
,也可以使用globalThis
(是 ES2020 支持的)
特点
- 单线程
- 异步式 I/O
- 事件驱动
- 跨平台
这里的单线程是指主线程是单线程的,主线程还能有其他子线程。因为是单线程,所以只要有一个任务耗时非常长,后面的任务必须要排队等待,会拖延整个程序执行,从而降低了效率,于是提出了异步的思想。在执行代码的时候,主线程从上往下依次执行,遇到有需要回调的地方,就将此处加入到事件队列中,然后主线程继续往下走,直到运行结束以后,才去执行事件队列中的回调。
事件驱动是指在持续事务管理过程中,进行决策的一种策略,即跟随当前时间点上出现的事件,调动可用资源,执行相关任务,使不断出现的问题得以解决,防止事务堆积。