Javascript 简明教程

Javascript - Overview

What is JavaScript?

JavaScript 是一种动态计算机编程语言。它是 lightweight ,最常作为网页的一部分来使用,其实现允许客户端脚本与用户交互并创建动态网页。它是一种具有面向对象功能的 interpreted 编程语言。

JavaScript 是一种 single-threaded 编程语言,我们可以将其用于客户端或服务器端开发。它是一种 dynamically 类型编程语言,这意味着我们在编写 JavaScript 代码时不必在意变量数据类型。此外,它包含有控制语句、运算符,以及 Array、Math、Data 等对象。

JavaScript 最初被称为 LiveScript ,但 Netscape 将其名称更改为 JavaScript,可能是由于 Java 所产生的兴奋。JavaScript 最初出现在 1995 年的 Netscape 2.0 中,名称为 LiveScript 。该语言的通用核心已被嵌入到 Netscape 和其他网络浏览器中。

ECMA-262 Specification 定义了核心 JavaScript 语言的标准版本。

  1. JavaScript 是一款轻量、解释性编程语言。

  2. 旨在创建以网络为中心的应用程序。

  3. 与 Java 互补并集成在一起。

  4. 与 HTML 互补并集成在内。

  5. Open and cross-platform

History of JavaScript

JavaScript 是由网景通信公司的计算机科学家和程序员 Brendan Eich 开发的。JavaScript 最开始的名字是“Mocha”。之后,它改名为“LiveScript”,然后改名为“JavaScript”。

在 1996 年至 1997 年期间,欧洲计算机制造商协会 (ECMA) 对 JavaScript 进行了标准化。之后,对 JavaScript 进行了 3 次修订。

ES5 (2009 年),推出了 Node.js,以便将 JavaScript 作为服务器端语言进行使用。 ES6 (2015 年)对 JavaScript 进行了重大修订,在 JavaScript 中引入了高级特性。

当前,JavaScript 已达到 ES14 版本。ES14(ECMAScript 2023)是第 14 个版本,于 2023 年 6 月发布。

Client-Side JavaScript

客户端 JavaScript 是该语言最常用的形式。脚本应包含在 HTML 文档中或由其引用,这样浏览器才能解释该代码。

这意味着网页不必是静态 HTML,而是可以包含与用户交互、控制浏览器,并动态创建 HTML 内容的程序。

JavaScript client-side 机制相较于传统的 CGI 服务器端脚本提供了诸多优势。例如,你可能使用 JavaScript 来检查用户是否在表单字段中输入了有效的电子邮件地址。

JavaScript 代码会在用户提交表单时执行,并且只会将所有条目都有效时才会将其提交到 Web 服务器。

JavaScript 可用于捕获用户发起的事件,例如按钮点击、链接导航以及用户显式或隐式发起的其他操作。

用于 JavaScript 开发的流行客户端端库是 ReactJS、NextJS、Vue JS、Angular JS 等。

Server-Side JavaScript

早期,JavaScript 被用于前端开发,以向 HTML 页面添加行为。自 2009 年起,JavaScript 也被用作一门服务端编程语言,用于构建可扩展且动态的 Web 应用程序。

Node.js 是使用 JavaScript 构建应用程序服务器的最佳且最流行的 JavaScript 运行时环境之一。利用 Node.js ,我们可以在浏览器外执行 JavaScript 代码并管理服务端任务。这些服务端任务可能是与数据库、API、文件处理或网络通信的交互。由于 Node.js 的事件驱动架构,它比其他服务端编程语言更快。

Advantages of JavaScript

使用 JavaScript 的优点为 −

  1. Less server interaction - 在将页面发送到服务器之前,你可以验证用户输入。这可以节省服务器流量,这意味着服务器上的负载会变小。

  2. Immediate feedback to the visitors - 用户无需等待页面重新加载,即可查看自己是否忘记输入某些内容。

  3. Increased interactivity - 你可以创建在用户将鼠标悬停在它们上面或通过键盘激活它们时做出反应的界面。

  4. Richer interfaces - 你可以使用 JavaScript 来包括诸如拖放组件和滑块等项目,为你的网站访问者提供丰富的界面。

Limitations of JavaScript

我们不能将 JavaScript 当作一门成熟的编程语言。它缺少以下重要特性 −

  1. 客户端 JavaScript 不允许读取或写入文件。这是出于安全原因。

  2. JavaScript 不能用于网络应用程序,因为不支持此类应用程序。

  3. JavaScript 没有任何多线程功能。

Imperative vs. Declarative JavaScript

命令式和声明式是一种编程范式,JavaScript 同时遵循这两个范式。

  1. Imperative JavaScript − 在命令式 JavaScript 中,我们以描述代码获取输出的步骤的方式编写代码。因此,我们关注代码执行流程和输出两方面。例如,为了对所有数组元素求和,如果我们编写循环代码,它会解释求和的每一步。

  2. Declarative JavaScript − 在声明式 JavaScript 中,我们不必担心执行流程,但我们应该在最后得到正确的输出。例如,我们使用内置的 array.reduce() 方法来对数组元素求和。在这里,我们不必关心 array.reduce() 方法如何在库中实现。

JavaScript Development Tools

JavaScript 的主要优势之一是它不需要昂贵的开发工具。你可以从一个简单的文本编辑器(例如记事本)开始。由于它是在 Web 浏览器上下文中解释执行的语言,你甚至不需要购买编译器。

以下是一些免费工具,它们在使用 JavaScript 开发应用程序时非常有用。

  1. Visual Studio Code (VS Code) − VS Code 是大多数开发人员用来编写 JavaScript 代码的代码编辑器。它功能丰富,包含各种扩展,可以提高任何开发人员的工作效率。

  2. Chrome dev tools − 程序员可以使用 Chrome 开发者工具来调试 JavaScript 代码。但是,他们可以使用任何浏览器的调试工具,因为大多数浏览器都带有该工具。

以上两个工具可以提高开发人员编写代码的工作效率。此外,你可以使用其他工具,例如用于版本控制的 Git、用于构建应用程序的 Webpack 等。

Where is JavaScript Today?

2015 年,推出了 ES6 版本的 JavaScript,其中有重大的增强,包括面向对象的概念、匿名函数、模板字面量等。在 June 2023 中,推出了 JavaScript 的第 14 个版本 ES14(ECMAScript 2023)。