Node-0
·
nanpangyou
Node - 0
什么是 Node?
维基百科:
Node.js is an open-source, cross-platform, JavaScript run-time environment that executes JavaScript code outside of a browser.
大意是 Node.js 是一款开源的,跨平台的,能让 JavaScript 在浏览器以外运行的运行环境
优点
- 异步非阻塞的 I/O
- 适用于 I/O 密集型应用
- 事件循环机制
- 单线程
- 跨平台
缺点
- 回调函数较多,嵌套较深
- 单线程,处理不好 CPU 密集型任务
Node 的应用场景(大概)
- Web 服务的 API
- 服务端渲染
- 后端的 web 服务,如跨域,服务器端请求
Node 中函数的特点
我们可以通过 console.log(arguments.callee.toString())
来看到整个 Node 是通过一个大函数
function (exports, require, module, __filename, __dirname) { }
所包裹的,其中前三个是有关模块化的参数, __filename
是指但前文件的绝对路径 __dirname
是指当前文件夹的绝对路径。
Node 中的 JavaScript 和浏览器端的 JavaScript 区别
浏览器
- BOM
- DOM
- ES 规范
Node 端
- 没有 BOM
- 没有 DOM
- 几乎包含所有的 ES 规范
- 没有 Window 全局变量,取而代之的是 Global
需要留意的一个区别
在浏览器下运行 console.log(this)
会打印出 Window 对象
但是在 node 环境下 运行 console.log(this)
会打印一个空对象 {}
如果要打印 global 对象,需要直接使用console.log(global)