node.js完全是javascript吗?

node.js完全是javascript吗?,javascript,node.js,Javascript,Node.js,我知道node.js允许我们编写javascript并在服务器端运行,而不是在客户端浏览器中运行 不过,我有一个问题,它是完全的javascript吗?举个例子,我能得到一个我写的javascript游戏,将代码复制粘贴到node.js的适当位置,它就能完美运行吗?或者我需要对我的javascript代码(例如语法、库(假设代码使用Jquery和box2dWeb))进行更改吗?这就是语言。这是完整的语言。但浏览器中的javascript将javascript和DOM结合起来,所以您可以编写脚本。

我知道node.js允许我们编写javascript并在服务器端运行,而不是在客户端浏览器中运行


不过,我有一个问题,它是完全的javascript吗?举个例子,我能得到一个我写的javascript游戏,将代码复制粘贴到node.js的适当位置,它就能完美运行吗?或者我需要对我的javascript代码(例如语法、库(假设代码使用Jquery和box2dWeb))进行更改吗?

这就是语言。这是完整的语言。但浏览器中的javascript将javascript和DOM结合起来,所以您可以编写脚本。节点不包括浏览器。因此,如果您的游戏使用DOM,它将无法运行

有用于节点执行各种操作的绑定

你可以使用Cordova之类的工具,将游戏放在Android/iPhone上

您可以使用类似于electron的东西,然后重新启动浏览器,使其成为linux/windows/osx上的应用程序


但是您必须更改代码才能使其正常工作

这只是一种语言。这是完整的语言。但浏览器中的javascript将javascript和DOM结合起来,所以您可以编写脚本。节点不包括浏览器。因此,如果您的游戏使用DOM,它将无法运行

有用于节点执行各种操作的绑定

你可以使用Cordova之类的工具,将游戏放在Android/iPhone上

您可以使用类似于electron的东西,然后重新启动浏览器,使其成为linux/windows/osx上的应用程序


但是您必须更改代码才能使其正常工作。node.js是ECMAScript的一个实现,加上许多附加库,允许您访问文件系统、进行本机TCP网络连接等

浏览器中的Javascript是ECMAScript的一个实现,加上浏览器中的许多主机对象,允许您在浏览器中操作内容(例如显示的文档)

只有不使用任何浏览器主机对象(例如,不访问DOM,也不使用任何特定于浏览器的API)的纯Javascript才能在这两个位置运行

举个例子,我可以得到一个我写的javascript游戏,复制粘贴吗 将代码放在node.js中的适当位置,它将运行 完美

否。假设游戏有用户界面,node.js中没有类似浏览器的用户界面

或者我需要对javascript代码进行更改(例如语法、, 库(假设代码使用Jquery和box2dWeb))

这取决于当前代码使用的非纯ECMAScript内容。所有这些非纯ECMAScript的东西(比如浏览器中的DOM对象)都必须修改并替换为其他东西



有些人没有意识到的是ECMAScript(浏览器Javascript和node.js之间的共同点)只是语言本身,不包括
窗口
对象、
文档
对象、创建或查找DOM元素的方法等。。。这些是特定于浏览器而不是特定于ECMAScript的“主机”方法或对象。

node.js是ECMAScript的一个实现,加上一些附加库,允许您执行访问文件系统、进行本机TCP网络等操作

浏览器中的Javascript是ECMAScript的一个实现,加上浏览器中的许多主机对象,允许您在浏览器中操作内容(例如显示的文档)

只有不使用任何浏览器主机对象(例如,不访问DOM,也不使用任何特定于浏览器的API)的纯Javascript才能在这两个位置运行

举个例子,我可以得到一个我写的javascript游戏,复制粘贴吗 将代码放在node.js中的适当位置,它将运行 完美

否。假设游戏有用户界面,node.js中没有类似浏览器的用户界面

或者我需要对javascript代码进行更改(例如语法、, 库(假设代码使用Jquery和box2dWeb))

这取决于当前代码使用的非纯ECMAScript内容。所有这些非纯ECMAScript的东西(比如浏览器中的DOM对象)都必须修改并替换为其他东西



有些人没有意识到的是ECMAScript(浏览器Javascript和node.js之间的共同点)只是语言本身,不包括
窗口
对象、
文档
对象、创建或查找DOM元素的方法等。。。这些是特定于浏览器而不是特定于ECMAScript的“主机”方法或对象。

这是一种在Google Chrome的V8 JavaScript编译器上运行的不同语言,因此,据我所知,所有JavaScript方法都内置在其中,其中不包含browser元素。如果您仔细查看Node.js的代码,您将能够更深入地了解Node.js是如何使用JavaScriptIt的。它是一种运行在Google Chrome的V8 JavaScript编译器上的不同语言,因此,据我所知,所有JavaScript方法都内置在其中,其中不包含浏览器元素。如果仔细研究Node.js的代码,您将能够更深入地了解Node.js是如何使用JavaScript的