JavaScript 是一种最初设计用于与网页元素交互的编程语言。在 Web 浏览器中,JavaScript 包含三个主要部分
- ECMAScript 提供核心功能。
- The 文档对象模型 (DOM) 提供与网页元素交互的接口
- The 浏览器对象模型 (BOM) 提供与 Web 浏览器交互的浏览器 API。
JavaScript 允许您向网页添加交互性。通常,您将 JavaScript 与 HTML 和 CSS 结合使用,以增强网页的功能,例如 验证表单、创建交互式地图以及显示动画图表。
当网页加载时,即在 HTML 和 CSS 下载完毕后,Web 浏览器中的 JavaScript 引擎执行 JavaScript 代码。然后,JavaScript 代码修改 HTML 和 CSS 以动态更新用户界面。
JavaScript 引擎是 Web 浏览器中负责解释和执行 JavaScript 代码的组件。它包含一个解析器来分析代码、一个编译器将代码转换为机器代码以及一个解释器来运行编译后的代码。
值得注意的 JavaScript 引擎包括 Chrome 中的 V8、Firefox 中的 SpiderMonkey 和 Safari 中的 JavaScriptCore。
最初,JavaScript 引擎是作为解释器实现的。但是,现代 JavaScript 引擎通常实现为即时编译器,它们将 JavaScript 代码编译为字节码以提高性能。
客户端与服务器端 JavaScript
当 JavaScript 用于网页时,它在 Web 浏览器中执行,充当客户端语言。
JavaScript 可以在 Web 浏览器和服务器上运行。一个流行的 JavaScript 服务器端环境是 Node.js。与客户端 JavaScript 不同,服务器端 JavaScript 在服务器上执行,允许您访问数据库、文件系统等。
JavaScript 历史
1995 年,JavaScript 由 Brendan Eich 开发,他是 Netscape 的开发人员。最初命名为 Mocha,后来更名为 LiveScript。
Netscape 决定将 LiveScript 重命名为 JavaScript,以利用 Java 的流行度。该决定是在 Netscape Navigator 2 Web 浏览器发布之前不久做出的,导致推出了 JavaScript 1.0 版本。
Netscape 在 Netscape Navigator 3 中发布了 JavaScript 1.1。与此同时,微软推出了自己的 Web 浏览器,称为 Internet Explorer 3 (IE 3),作为 Netscape 的竞争对手。但是,IE 包含了自己的 JavaScript 实现,称为 JScript。微软使用 JScript 这个名字是为了避免与 Netscape 发生潜在的许可冲突。
因此,市场上出现了两个不同的 JavaScript 版本
- Netscape Navigator 中的 JavaScript
- Internet Explorer 中的 JScript。
此时,JavaScript 缺乏标准化的语法和功能,促使社区呼吁对该语言进行标准化。
1997 年,JavaScript 1.1 被提议给 欧洲计算机制造商协会 (ECMA) 作为提案。 技术委员会 #39 (TC39) 被分配了标准化该语言的任务,旨在将其转变为通用的、跨平台的和与供应商无关的脚本语言。
TC39 提出了 ECMA-262,建立了定义一种名为 ECMAScript(通常发音为 Ek-ma-script)的新脚本语言的标准。
此后,国际标准化组织和国际电工委员会 (ISO/IEC) 采用了 ECMAScript (ISO/IEC-16262)。
JavaScript 概述
请注意,以下部分提供了对 JavaScript 代码的可靠介绍。如果您不熟悉它,那也没关系。您将在接下来的教程中学习它。
要 在 JavaScript 中定义变量,您使用 var
关键字。例如
var x = 10;
var y = 20;
Code language: JavaScript (javascript)
ES6 添加了一种使用 let
关键字声明变量的新方法
let x = 10;
let y = 20;
Code language: JavaScript (javascript)
之间存在差异 var
和 let
。建议您使用 let
关键字来声明变量。
要声明一个 函数,您使用 function
关键字。以下示例定义了一个计算两个参数之和的函数
function add( a, b ) {
return a + b;
}
Code language: JavaScript (javascript)
要调用 add()
函数,您使用以下语法
let result = add(x, y);
Code language: JavaScript (javascript)
要将结果记录到 Web 浏览器的控制台窗口或终端(在 node.js 的情况下),您使用 console.log()
函数
console.log(result);
Code language: JavaScript (javascript)
现在,您应该在输出中看到 30
。
JavaScript 为您提供了条件语句,例如 if-else
和 switch
语句。例如
let a = 20,
b = 30;
function divide(a, b) {
if(b == 0) {
throw 'Division by zero';
}
return a / b;
}
Code language: JavaScript (javascript)
在 divide()
函数中,我们检查分母 (b) 是否为零。如果是,我们 抛出异常。否则,我们返回 a / b 的结果。
要声明一个 数组,您使用以下语法
let items = [];
Code language: JavaScript (javascript)
要声明一个包含初始元素的数组,您在方括号中指定这些元素
let items = [1, 2, 3];
Code language: JavaScript (javascript)
您可以通过 items
数组的 length
属性访问 items
数组中的元素数量
console.log(items.length); // 3
Code language: JavaScript (javascript)
要遍历 items
数组中的元素,您使用 for
循环语句,如下所示
for(let i = 0; i < items.length; i++) {
console.log(items[i]);
}
Code language: JavaScript (javascript)
for(let item of items) {
console.log(item);
}
Code language: JavaScript (javascript)
JavaScript 是一种不断发展的语言,具有丰富的功能,您将在接下来的教程中探索。
在本教程中,您学习了什么是 JavaScript 以及 JavaScript 语言的概述。