node 是什么?
node 是一个让 js 运行在服务端的运行环境,它的底层采用 C++编写,性能较高。并且基于 ecmascript 新增了很多系统级 api,例如:文件操作、网络编程(实现自己的 web 服务)
node 解决了什么问题?
1、以 js 单线程的特性,解决服务器高并发的问题
2、写一些工具库,如构建工具 webpack,脚手架 cli
3、搭建中间层解决跨域问题以及数据格式化操作
node 比较适合 web 应用场景(IO 密集型) 返回文件 文件读写等
node 的核心特点
1、事件驱动,node 的 api 是基于事件,异步的
2、node 采用的是单线程
3、node 不适合 CPU 密集型,适合 IO 密集型
同步异步 阻塞非阻塞(针对的点不一样的)
-
同步和异步 关注的是消息通知的机制 readFile
-
阻塞和非阻塞 程序等待消息结果的状态
vip 专属客服是同步,公共客服是异步
node 中的全局对象 global
- 全局对象是可以直接访问的变量,
- 如果定义在 global 上的属性,肯定是一个全局变量