一、什么是 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 经历了三次修订。
ES5(2009)引入了 Node.js,使 JavaScript 成为了服务器端语言。ES6(2015)是对 JavaScript 的一次重要修订,引入了许多高级特性。
目前,JavaScript 已经达到了 ES14 版本。ES14(ECMAScript 2023),第 14 个版本,在 2023 年 6 月发布。
客户端 JavaScript 客户端 JavaScript 是这种语言最常见的形式。脚本应包含在或由 HTML 文档引用,以便浏览器能够解释代码。
这意味着网页不必仅仅是静态的 HTML,还可以包括与用户交互、控制浏览器和动态创建 HTML 内容的程序。
JavaScript 的客户端机制比传统的 CGI 服务器端脚本提供了许多优点。例如,您可以使用 JavaScript 检查用户是否在一个表单字段中输入了有效的电子邮件地址。
当用户提交表单时,JavaScript 代码会被执行,只有当所有条目都是有效的情况下才会提交给 Web 服务器。
JavaScript 可以用于捕捉用户触发的事件,如按钮点击、链接导航以及其他用户显式或隐式触发的动作。
流行的客户端 JavaScript 库有 ReactJS、NextJS、Vue JS、Angular JS 等。
服务器端 JavaScript 早期,JavaScript 主要用于前端开发,为 HTML 页面增加行为。自 2009 年以来,JavaScript 也被用作服务器端编程语言,以构建可扩展和动态的 Web 应用程序。
Node.js 是最好的也是最流行的用于构建应用程序服务器端的 JavaScript 运行时环境之一。使用 Node.js,我们可以在浏览器之外执行 JavaScript 代码并管理服务器任务。服务器任务可以是与数据库、API 的交互、文件处理或网络通信。由于 Node.js 的事件驱动架构,它的速度比其他服务器端编程语言更快。
JavaScript 的优点 使用 JavaScript 的好处包括:
-
减少服务器交互 —— 您可以在发送页面到服务器之前验证用户输入。这样可以减少服务器流量,意味着服务器负载更小。
-
即时反馈给访客 —— 他们不必等待页面重新加载来查看是否遗漏了某些输入。
-
增加交互性 —— 您可以创建用户将鼠标悬停在其上或通过键盘激活时会作出反应的界面。
-
更丰富的界面 —— 您可以使用 JavaScript 包括拖放组件和滑块等功能,以提供一个丰富的界面给您的网站访问者。
JavaScript 的局限性 我们不能把 JavaScript 当作一个完整的编程语言来看待,因为它缺乏以下重要的功能:
-
客户端 JavaScript 不允许读取或写入文件。这是出于安全考虑。
-
JavaScript 无法用于网络应用程序,因为没有这样的支持。
-
再一次强调,JavaScript 是一种轻量级的解释型编程语言,它允许您在原本静态的 HTML 页面中加入互动性。
命令式 vs. 声明式 JavaScript 命令式和声明式是编程范式,JavaScript 支持这两种方式。
命令式 JavaScript —— 在命令式 JavaScript 中,我们按照描述步骤的方式编写代码以获取输出。所以我们关注的是代码执行流程和输出。例如,为了求得数组所有元素的总和,如果我们写一个循环,它就会解释每一步以得到总和。
声明式 JavaScript —— 在声明式 JavaScript 中,我们无需担心执行流程,但最终需要正确的输出。例如,我们使用内置的 array.reduce() 方法来求得数组元素的总和。在这里,我们并不关心 reduce() 方法是如何在库中实现的。
JavaScript 开发工具 JavaScript 的一大优势在于它不需要昂贵的开发工具。您可以从简单的文本编辑器如记事本开始。由于它是在 Web 浏览器上下文中解释的语言,您甚至不需要购买编译器。
以下是几种在使用 JavaScript 开发应用程序时可能会用到的免费工具。
Visual Studio Code(VS Code) —— 大多数开发者使用 VS Code 编写 JavaScript 代码。它功能丰富,并包含多种可以提高任何开发者生产力的扩展。
Chrome 开发工具 —— 程序员可以使用 Chrome 开发工具调试 JavaScript 代码。然而,他们也可以使用任何浏览器的调试工具,因为大多数浏览器都自带调试工具。
以上两种工具提高了开发者编写代码的效率。此外,您还可以使用其他工具如 Git 进行版本控制,Webpack 构建应用程序等。
JavaScript 现状 2015 年,JavaScript 发布了带有重大改进的 ES6 版本,包括面向对象的概念、匿名函数、模板文字等。2023 年 6 月,发布了 ES14(ECMAScript 2023),即 JavaScript 的第 14 个版本。