一、nodejs介绍
1、nodejs是ecmascript的runtime
2、nodejs使用了event-driven(事件驱动)和non-blocking i/o model(无阻塞的io模型)
- 非阻塞:i/o时函数立即返回,进程不等i/o完成
- event-driven:nodejs靠事件进行驱动
3、cpu密集 vs i/o密集
- cpu密集:压缩、解压、加密、解密
- i/o密集:文件操作、网络操作、数据库
因为js操作是i/o密集,所以nodejs是js在serves上面的runtime
4、高并发应对之道
5、nodejs单线程
- 单线程只针对主进程,i/o操作系统底层多线程调度(nodejs自己是单线程,但它有一部分任务交给操作系统自己去做多线程)
- 单线程不是单进程
6、nodejs应用场景
二、nodejs开发环境与调试工具
1、环境
- commonjs 规范
- global 对象(类似于js里面的window对象)
- process 当前执行的进程
2、commonjs规范
- 每个文件都是一个模块,都有自己的作用域
- 在模块内部module变量代表模块本身
- module.exports属性代表模块对外接口(将模块的一些东西输出)
- require规则
- / 表示绝对路径,. / 表示相对于当前文件的
- 支持js、json、node的拓展名
- require特性
- module被加载的时候会执行一遍,并进行缓存,第二次直接用缓存里面的结果
- 当一个模块被循环加载(a依赖b,然后b又依赖a),那么只会输出已经执行的部分(a执行在b依赖a之前a该执行的部分)
3、global全局对象
- commonjs
- buffer、process、console
- timer
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
-
-
-
-
js实现计算器功能
本文实例为大家分享了js实现计算器功能的具体代码,供大家参考,具体内容如下知识点eval() 函数可计算某个字符串,并执行其中的的 javascript 代码。...
[阅读全文]
-
-
-
网友评论