使用 JavaScript 进行动态脚本编写

JavaScript 是一个庞大的主题,有许多不同的特性、风格和技术需要学习,并且在其之上构建了大量的 API 和工具。本模块着重介绍核心语言的基础知识,以及一些关键的相关主题——学习这些主题将为你打下坚实的基础。

预备知识

在开始本模块之前,你不需要任何 JavaScript 知识,但你应该已经完成了本课程的前几个模块。你至少应该了解HTMLCSS 的基本原理

注意:如果你正在使用的电脑、平板电脑或其他设备无法创建文件,你可以尝试在在线编辑器中运行代码,例如CodePenJSFiddle

教程与挑战

什么是 JavaScript?

欢迎来到 MDN 初学者 JavaScript 课程!在第一篇文章中,我们将从宏观角度审视 JavaScript,回答诸如“它是什么?”、“它在做什么?”等问题,并确保你熟悉 JavaScript 的用途。

初探 JavaScript

既然你已经了解了 JavaScript 的理论及其用途,我们将通过一个完全实用的教程,为你提供 JavaScript 基本功能的速成课程。在这里,你将一步步构建一个简单的“猜数字”游戏。

哪里出了问题?JavaScript 故障排除

当你在上一篇文章中构建“猜数字”游戏时,你可能会发现它无法正常工作。别担心——本文旨在通过提供一些查找和修复 JavaScript 程序错误的简单技巧,让你不再为这些问题抓狂。

存储所需信息 — 变量

阅读完前几篇文章后,你应该已经了解了 JavaScript 是什么、它能为你做什么、如何将其与其他 Web 技术配合使用,以及它的主要功能从宏观上看是怎样的。在本文中,我们将深入了解真正的基础知识,学习如何使用 JavaScript 最基本的构建块——变量。

JavaScript 中的基本数学 — 数值和运算符

在本课程的这一部分,我们将讨论 JavaScript 中的数学——我们如何结合运算符和其他功能,成功地操作数字以实现我们的意图。

文本处理——JavaScript 中的字符串

接下来,我们将把注意力转向字符串——这是编程中对文本片段的称呼。在本文中,我们将介绍学习 JavaScript 时应该了解的所有常见字符串知识,例如创建字符串、在字符串中转义引号以及将它们连接起来。

有用的字符串方法

既然我们已经了解了字符串的最基本知识,让我们更进一步,开始思考可以使用内置方法对字符串进行哪些有用的操作,例如查找文本字符串的长度、连接和拆分字符串、用一个字符替换字符串中的另一个字符等等。

数组

在本课中,我们将学习数组——一种将数据项列表存储在单个变量名下的整洁方式。在这里,我们将探讨它的用途,然后学习如何创建数组、检索、添加和删除存储在数组中的项目,以及其他内容。

挑战:傻瓜故事生成器 挑战

在这个挑战中,你需要运用迄今为止在本模块中学到的一些知识,将其应用于创建一个有趣的应用程序,生成随机的傻瓜故事。在此过程中,我们将测试你对变量、数学、字符串和数组的知识。

在代码中做出决策——条件语句

在任何编程语言中,代码都需要根据不同的输入做出决策并执行相应的操作。例如,在游戏中,如果玩家的生命值为 0,那么游戏结束。在天气应用程序中,如果是在早上查看,则显示日出图形;如果是晚上,则显示星星和月亮。在本文中,我们将探讨 JavaScript 中所谓的条件语句是如何工作的。

循环代码

编程语言对于快速完成重复性任务非常有用,从多个基本计算到几乎任何其他需要完成大量类似工作的场景。在这里,我们将介绍 JavaScript 中可用的循环结构,以处理此类需求。

函数——可重用的代码块

编码的另一个基本概念是函数,它允许你将执行单一任务的代码块存储在一个定义的块中,然后使用一个简短的命令在需要时调用该代码——而不是多次输入相同的代码。在本文中,我们将探讨函数背后的基本概念,例如基本语法、如何调用和定义它们、作用域和参数。

构建你自己的函数

在上一篇文章中处理了大部分基本理论之后,本文将提供实践经验。在这里,你将练习构建自己的自定义函数。在此过程中,我们还将解释处理函数的一些有用细节。

函数返回值

关于函数,我们还需要讨论最后一个基本概念——返回值。有些函数不返回有意义的值,但有些会。理解它们的值是什么、如何在代码中使用它们以及如何使函数返回有用的值非常重要。我们将在下面介绍所有这些。

事件介绍

在本文中,我们讨论了一些围绕事件的重要概念,并探讨了它们在浏览器中工作的基本原理。

事件冒泡

本文介绍了事件冒泡、事件捕获和事件委托的概念,这些都涉及到当你向一个包含另一个元素的元素添加监听器,并且事件发生在被包含元素上时所发生的情况。

既然我们已经了解了 JavaScript 的基本构建块,我们将通过让你构建一个在许多网站上都能看到的常见项目——一个由 JavaScript 驱动的图片画廊,来测试你对循环、函数、条件语句和事件的知识。

对象基础

在本文中,我们将探讨 JavaScript 对象的基本语法,并回顾本课程前面已经介绍过的一些 JavaScript 功能,重申你已经处理的许多功能都是对象这一事实。

DOM 脚本简介

在编写网页和应用程序时,最常见的操作之一就是以某种方式更改文档结构。这通常通过操作文档对象模型 (DOM) 来完成,通过一组用于控制 HTML 和样式信息的内置浏览器 API。在本文中,我们将向你介绍 DOM 脚本编程

使用 JavaScript 发出网络请求

现代网站和应用程序中另一个非常常见的任务是发出网络请求,从服务器检索单个数据项,以更新网页的各个部分,而无需加载整个新页面。这个看似微小的细节对网站的性能和行为产生了巨大影响,因此在本文中,我们将解释这个概念并介绍使之成为可能的技术。

使用 JSON

JavaScript 对象表示法 (JSON) 是一种基于 JavaScript 对象语法的标准文本格式,用于表示结构化数据。它通常用于在 Web 应用程序中传输数据(例如,将一些数据从服务器发送到客户端,以便在网页上显示,反之亦然)。你会经常遇到它,因此在本文中,我们为你提供了使用 JavaScript 处理 JSON 所需的一切,包括解析 JSON 以便你可以访问其中的数据,以及创建 JSON。

挑战:构建房屋数据 UI 挑战

在这个挑战中,我们将让你为一个房地产网站的房屋搜索页面编写一些 JavaScript。这将包括获取 JSON 数据,根据提供的表单控件中输入的值过滤数据,并将数据渲染到用户界面。在此过程中,我们还将测试你对条件语句、循环、数组和数组方法以及其他知识的掌握程度。

JavaScript 调试和错误处理

在本课中,我们将回到 JavaScript 调试的主题(我们最初在出了什么问题?中探讨过)。在这里,我们将深入探讨跟踪错误的技术,同时也将探讨如何在代码中进行防御性编码和处理错误,从一开始就避免问题。

检验你的技能

你会在教程文章之间找到“检验你的技能”文章,以检查你是否在继续学习之前掌握了最重要的信息。如果你想一起探索所有这些内容,可以在检验你的技能:JavaScript中找到它们的列表。

另见

Scrimba: 学习 JavaScript MDN 学习合作伙伴

Scrimba 的《学习 JavaScript》课程通过解决 140 多个交互式编码挑战来教授 JavaScript,构建项目包括游戏、浏览器扩展甚至移动应用程序。Scrimba 提供由知识渊博的老师教授的有趣互动课程。

学习 JavaScript

对于有抱负的 Web 开发人员来说,这是一个极好的资源——在交互式环境中学习 JavaScript,包括短课程和交互式测试,并通过自动化评估进行指导。前 40 节课是免费的,完整课程只需一次小额付款。