TOC

This article is currently in the process of being translated into Chinese (~57% done).

About JavaScript:

JavaScript and the webbrowser

对于大多数人,JavaScript和网络浏览器是密不可分的。这是有一定道理的,因为JavaScript最早是由网景浏览器的团队发明的而且仅被用于网络。这也是为什么JavaScript通常被称作“安全语言”,因为在他最常用的使用中,他从不提供介入底层文件系统或者其他类似的底层系统的功能,他更像是一个沙盒,你只可以做一些对系统无害的事。

然而,需要注意的是JavaScript可以轻松地在Web浏览器之外使用。JavaScript使用JavaScript引擎或解释器来执行。这个引擎可以运行在浏览器内部,这在几乎所有现代的Web浏览器中都有应用,但并没有什么阻止这个引擎在浏览器之外运行。事实上,这已经多次实现过。

Node.js

最著名的例子是Node.js项目。它于2009年创建,基本上将JavaScript引擎从Web浏览器中抽离出来,并添加了模块,使JavaScript成为一种通用的编程语言,而不仅仅是一个Web浏览器的脚本语言。这引发了对JavaScript的新的和更高水平的兴趣,因为现在你可以使用JavaScript技能进行编程同时在Web(客户端)和服务器端写脚本。由于Node.js是跨平台的,这意味着你可以在Windows、Linux、Unix和macOS上运行你的代码,而无需依赖浏览器。

The host environment

所有这些都引导我们来讨论宿主环境。宿主环境指的是你的JavaScript代码被执行的地方,他通常包含了JavaScript语言本身没有直接提供的功能。最明显的例子当属Web浏览器,他添加了很多功能,使你的JavaScript代码能够与浏览器进行通信并操作底层网站的内容。

另一个宿主环境可以使Node.js,他添加了与服务器端相关的功能,但由于JavaScript最初的实际目标是能够在任意地方运行,他甚至可以是你的咖啡机。他可以轻松的包含一个JavaScript引擎,并添加与制作咖啡和按下按钮执行指令的相关功能,而不仅仅是处理网站。

需要还是不需要浏览器?

所以,如你所见,JavaScript绝对可以在Web浏览器之外运行。这在现在是真实存在的,我只能想象,JavaScript日益增长的流行度将使这一点在未来更加真实。因此,我要强调的是,在本教程中,我们首先将主要学习JavaScript语言本身

因此,在本教程的第一部分,我们将专注于JavaScript语言本身,而不会过多讨论它如何与浏览器交互。但是,忽视JavaScript与Web浏览器的交互将是不明智的,因为这仍然是非常常见的用例。因此,本教程的后半部分将专门探讨这个主题,我们将深入探讨JavaScript与Web浏览器之间的关系。

对于一些纯粹主义者的提醒:你可能会注意到,在教程的第一部分中,虽然我们没有涉及浏览器,但我会使用一些被认为与浏览器相关的函数。其中一个例子是alert()函数,在浏览器中会显示一个简单的消息框。我使用它是因为在本教程中的示例中,它简单易懂,并且可以在从网站直接运行示例时在浏览器中查看结果。

总结

JavaScript通常在Web浏览器中运行,但并不总是如此。在本教程中,我们将首先专注于核心JavaScript语言,让你学习这门语言,然后再深入了解JavaScript如何与Web浏览器交互。然而,我们将展示一些与浏览器交互的示例,因为这样更容易理解,并且你可以在阅读文章时进行测试。


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!