node是一门后台语言
node特点:单线程、非阻塞、异步IO、事件驱动
单线程弊端:不够健壮,cpu利用率不高
单线程好处:节省空间
非阻塞:程序的执行过程不会出现等待,类似于ajax的执行,执行过后等待回调
异步IO:适合密集IO(input,output)操作
nodejs和前端(JavaScript)js的相同和不同点:
相同点:语法一样,都是ES语法;都是单线程
不同点:
宿主不一样,JavaScript的宿主是浏览器,全局顶层对象是window,nodejs基于google V8引擎,全局顶层对象是global
nodejs实现了 commonjs规范,JavaScript没有,比如nodejs实现了buffer二进制,fs文件操作,http服务和请求,JavaScript都没有
JavaScript 有DOM和BOM,nodejs不存在DOM和BOM,因为宿主不一样,所以nodejs不存在兼容问题
执行环境不同,nodejs基于node执行,JavaScript基于浏览器执行