Javascript - 概述



什么是 JavaScript?

JavaScript 是一种动态计算机编程语言。它是轻量级的,最常用作网页的一部分,其实现允许客户端脚本与用户交互并制作动态页面。它是一种具有面向对象功能的解释型编程语言。

JavaScript 是一种单线程编程语言,我们可以用于客户端或服务器端开发。它是一种动态类型的编程语言,这意味着我们在编写 JavaScript 代码时不关心变量数据类型。此外,它还包含控制语句、运算符和对象,如数组、数学、数据等。

JavaScript 最初被称为 LiveScript,但 Netscape 将其名称更改为 JavaScript,可能是因为 Java 引起了人们的兴奋。JavaScript 于 1995 年首次出现在 Netscape 2.0 中,名称为 LiveScript。该语言的通用核心已嵌入到 Netscape 和其他 Web 浏览器中。

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

  • JavaScript 是一种轻量级的解释型编程语言。
  • 专为创建以网络为中心的应用程序而设计。
  • 与 Java 互补并集成。
  • 与 HTML 互补并集成。
  • 开放和跨平台

JavaScript 的历史

JavaScript 由 Netscape Communications Corporation 的计算机科学家和程序员 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 月发布。

客户端 JavaScript

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

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

与传统的 CGI 服务器端脚本相比,JavaScript 客户端机制具有许多优势。例如,您可以使用 JavaScript 来检查用户是否在表单字段中输入了有效的电子邮件地址。

JavaScript 代码在用户提交表单时执行,只有当所有条目都有效时,它们才会被提交到 Web 服务器。

JavaScript 可用于捕获用户启动的事件,例如按钮单击、链接导航以及用户明示或隐式启动的其他操作。

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

服务器端 JavaScript

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

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

JavaScript 的优点

使用JavaScript的优点是 -

  • 减少服务器交互 - 您可以在将页面发送到服务器之前验证用户输入。这样可以节省服务器流量,这意味着服务器上的负载更少。
  • 对访问者的即时反馈 - 他们不必等待页面重新加载以查看他们是否忘记输入某些内容。
  • 增加交互性 - 您可以创建当用户使用鼠标悬停在它们上面或通过键盘激活它们时做出反应的界面。
  • 更丰富的界面 - 您可以使用JavaScript来包含拖放组件和滑块等项目,以为您的网站访问者提供丰富的界面。

JavaScript 的局限性

我们不能将 JavaScript 视为一种成熟的编程语言。它缺少以下重要功能:

  • 客户端 JavaScript 不允许读取或写入文件。出于安全原因,我们保留了此内容。
  • JavaScript 不能用于网络应用程序,因为没有这样的支持。
  • JavaScript 没有任何多线程功能。

同样,JavaScript 是一种轻量级的解释型编程语言,它允许您将交互性构建到原本静态的 HTML 页面中。

命令式 JavaScript 与声明式 JavaScript

命令式和声明式是一种编程范式,JavaScript 遵循两者。

  • 命令式JavaScript - 在命令式JavaScript中,我们按照代码描述获取输出的步骤来编写代码。因此,我们关注的是代码执行流程和输出。例如,要对所有数组元素求和,如果我们为 loop 编写代码,它会解释每个步骤以获取总和。
  • 声明式JavaScript - 在声明式JavaScript中,我们不需要担心执行流程,但我们应该在最后得到正确的输出。例如,我们使用内置的 array.reduce() 方法来获取数组元素的总和。在这里,我们不关心 reduce() 方法如何在库中实现。

JavaScript 开发工具

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

这里有各种免费工具,它们在使用 JavaScript 开发应用程序时可能会有所帮助。

  • Visual Studio Code(VS Code) - VS Code是大多数开发人员用来编写JavaScript代码的代码编辑器。它功能丰富,并包含各种扩展,可以提高任何开发人员的生产力。
  • Chrome 开发工具 - 程序员可以使用 Chrome 开发工具来调试 JavaScript 代码。但是,他们可以使用任何浏览器的调试工具,因为大多数浏览器都附带它。

上述 2 个工具提高了开发人员编写代码的生产力。此外,您可以使用其他工具,例如 Git 进行版本控制、Webpack 来构建您的应用程序等。

JavaScript 版本?

2015 年,JavaScript 的 ES6 版本发布,并进行了重大改进,包括面向对象的概念、匿名函数、模板文字等。2023 年 6 月,JavaScript 的第 14 个版本 ES14(ECMAScript 2023)发布。