JavaScript shell和node.js之间的区别

时间:2017-06-26 19:02:14

标签: javascript node.js v8 spidermonkey

我是新开发者。 我已经在Node.js中开发了一段时间了。 今天,我偶然发现了这篇文章 https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Introduction_to_the_JavaScript_shell#readline()

它讨论了javascript shell,并说它也可以从文件中执行javascript程序。

我能够研究和理解V8和spydermonkey。

我想知道Node.js和本文中讨论的javascript shell之间的区别,因为它说shell可以自己执行javascript程序。

他们只是区别在于node.js使用V8引擎而另一个使用spidermonkey吗?

如果是这样,为什么node.js如此普遍用于编写Server Side JavaScript?

我无法在互联网上找到我想要的东西。要么谷歌让我看到蜘蛛侠和v8之间的区别,或者在#34; javascript和node.js之间的差异"因为我是一名新开发者,所以我很难理解,

因此,请在对此问题进行投票之前请耐心等待,至少在评论中解释您的理由

可以使用spidermonkey实现同样的目标吗?

2 个答案:

答案 0 :(得分:16)

JavaScript是一种语言。 node.js不是JavaScript的语言或特殊方言 - 它只是运行普通JavaScript的东西。

所有浏览器都有运行网页JavaScript的JavaScript引擎。 Firefox有一个名为Spidermonkey的引擎,Safari有JavaScriptCore,Chrome有一个名为V8的引擎。

Node.js就是与一些库捆绑在一起的V8引擎,用于执行I / O和网络,因此您可以在浏览器之外使用JavaScript,创建shell脚本,后端服务或在硬件上运行({{3} })。

致谢:https://tessel.io/

我希望这有助于清除它们之间的基本区别。您需要的具体内容未在此处解答。

答案 1 :(得分:1)

  

Node.js允许JavaScript用于服务器端脚本,以及   运行脚本服务器端之前生成动态网页内容   页面将发送到用户的Web浏览器。

来源:https://en.wikipedia.org/wiki/Node.js

显然,shell本身无法提供HTML网页。

此外,Node.js是异步的,非阻塞的,这意味着它可以同时处理多个请求并托管多个进程。

编辑:提供来源。