共计 628 个字符,预计需要花费 2 分钟才能阅读完成。
脚本语言需要一个解析器才能运行,JavaScript 是脚本语言,在不同的位置有不一样的解析器,如写入 html 的 js 语言,浏览器是它的解析器角色。而对于需要独立运行的 js,nodejs 就是一个解析器。
每一种解析器都是一个运行环境,不但允许 js 定义各种数据结构,进行各种计算,还允许 js 使用允许环境提供的内置对象和方法做一些事情。如运行在浏览器中的 js 的用途是操作 DOM,浏览器就提供了 document 之类的内置对象。而运行在 nodejs 中的 js 的用途是操作磁盘文件或搭建 http 服务器,nodejs 就相应提供了 fs,http 等内置对象。
NodeJS 的作者说,他创造 NodeJS 的目的是为了实现高性能 Web 服务器,他首先看重的是事件机制和异步 IO 模型的优越性,而不是 JS。但是他需要选择一种编程语言实现他的想法,这种编程语言不能自带 IO 功能,并且需要能良好支持事件机制。JS 没有自带 IO 功能,天生就用于处理浏览器中的 DOM 事件,并且拥有一大群程序员,因此就成为了天然的选择。
如他所愿,NodeJS 在服务端活跃起来,出现了大批基于 NodeJS 的 Web 服务。而另一方面,NodeJS 让前端众如获神器,终于可以让自己的能力覆盖范围跳出浏览器窗口,更大批的前端工具如雨后春笋。
因此,对于前端而言,虽然不是人人都要拿 NodeJS 写一个服务器程序,但简单可至使用命令交互模式调试 JS 代码片段,复杂可至编写工具提升工作效率。
… 未完待续,欢迎各路大神来补充干货。感激不尽!
正文完
发表至: javascript
2019-02-15