0%

Node和JS对比

前端JS是基于浏览器端的Javascript,Node.js则一个是基于服务端的javascript(后端Nodejs)。

一、概念

      JavaScript是一门动态脚本语言,可以运行于宿主环境(如浏览器等包含Js引擎的环境)。浏览器通过内置一个Js引擎可以解释执行Js代码,浏览器实现Js标准规范(ECMAScript),提供API(DOM和BOM),可以使用JavaScript调用,支持操作页面DOM,调用某些浏览器操作等客户端功能,可以说JavaScript = ECMAScript + DOM + 宿主环境(BOM)

      Node.js是一个基于Google V8引擎(Js引擎的某一种)构建的JavaScript运行环境,提供API(操作系统、文件系统、网络系统、数据库等),可以使用JavaScript调用,支持读取本地文件,开启本地主机端口服务,发送/接受请求等服务端功能,可以说Node.js = JavaScript + Node环境

要执行JavaScript代码必须要有一个Js引擎,而浏览器和Nodejs环境都内置了Js引擎。所以如果Js代码中调用了浏览器提供的API,则必须安装一个浏览器;若调用了Nodejs提供的API,则必须安装nodejs环境,然后以各自规定的方式加载、执行JavaScript代码。

二、对比

  1. JavaScript是一门编程语言(脚本语言),而Node.js是一个运行环境。
  2. JavaScript以前是在浏览器里执行的,需要浏览器里的JavaScript引擎,Firefox有叫做Spidermonkey的引擎,Safari有JavaScriptCore的引擎,Chrome有V8的引擎,现在有人把Chrome有V8的引擎的引擎拿出来做了包装,加入了内置基本模块(大多用JavaScript编写),就构成了Node.js。
  3. Node.js可以说是JavaScript的一种独立于浏览器的运行环境。
  4. 两者侧重点也不太一样:
    • JavaScript
      • DOM(一些操作页面元素的方法)
      • BOM(一些操作浏览器的方法)
    • Node.js
      • OS(操作系统)
      • file(文件系统)
      • net(网络系统)
      • database(数据库)

三、参考

  1. Nodejs
  2. JavaScript
  3. 参考三