【问题标题】:Difference between JavaScript shell and node.jsJavaScript shell 和 node.js 的区别
【发布时间】:2017-06-26 19:02:14
【问题描述】:

我是一名新开发人员。 我已经在 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 如此普遍地用于编写服务器端 JavaScript?

我无法在 Internet 上完全找到我要查找的内容。谷歌向我展示了 spidermonkey 和 v8 之间的区别,或者一些关于“javascript 和 node.js 之间的区别”的论坛,因为我是一个新开发人员,我真的很难理解,

所以请在否决这个问题之前有足够的耐心考虑这个问题,至少在 cmets 中解释你的原因

spidermonkey 可以用来达到同样的效果吗?

【问题讨论】:

标签: javascript node.js v8 spidermonkey


【解决方案1】:

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

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

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

致谢:https://www.quora.com/What-is-the-difference-between-JavaScript-and-Node-js

我希望这有助于清除它们之间的基本区别。您需要的细节在这里没有回答。

【讨论】:

    【解决方案2】:

    Node.js 使 JavaScript 能够用于服务器端脚本,并且 在服务器端运行脚本以生成动态网页内容之前 页面被发送到用户的网络浏览器。

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

    显然shell不能自己提供HTML网页。

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

    编辑:提供的来源。

    【讨论】:

    • nodejs 通过要求 http 权限来做到这一点?那么,如果不是同一个模块,就不能为 javascript shell 编写类似的模块吗?那它就不能监听http请求了吗?
    • Node.js 是一个框架。 javascript shell 是一个执行环境。执行环境可以执行任何 javascript,包括 Node.js 程序。
    • 所以我想我们可以把它看作 node.js 提供了一个运行时环境来运行 js 文件,就像 js shell 一样,但与此同时,它还为 i/o 提供了额外的库并扩展了功能的语言。而nodejs使用V8引擎实现运行时
    猜你喜欢
    • 1970-01-01
    • 2010-10-10
    • 2020-01-16
    • 1970-01-01
    • 2023-03-22
    • 2016-07-24
    • 2012-06-05
    • 2011-06-25
    • 1970-01-01
    相关资源
    最近更新 更多