Logo

JavaScript courses and guides

JavaScript is the programming language of the web, enabling interactive and dynamic web applications. From frontend user interfaces to backend servers with Node.js, JavaScript powers modern web development with frameworks like React, Vue, and Angular, making it essential for full-stack development.

JavaScript

Explore Everything JavaScript

使用 Puppeteer 进行网页抓取

使用 Puppeteer 进行网页抓取

Puppeteer 是一个用于自动化网页浏览器并从网站提取数据的 Node.js 库。在本课程中,你将学习如何充分发挥 Puppeteer 的潜力,高效且有效地从网络上抓取数据。 你将从网页抓取的基础知识开始,了解其基本概念和应用场景。接着,你将深入学习 Puppeteer 的核心内容,包括环境搭建、网页导航以及使用选择器进行数据提取。高级主题如处理分页、滚动加载以及动态网站的身份验证也将被探讨。你还将学习如何将抓取的数据存储为多种格式,包括 JSON 和 CSV,并掌握网页抓取的最佳实践。最后,你将探索网页抓取的未来发展方向。 完成本课程后,你将能够运用所学的网页抓取技能,为分析、研究或自动化目的收集数据,从而在职业生涯中开拓新的机遇。

5h

Beginner

使用 Postman 和 WebdriverIO 测试 React 应用程序

使用 Postman 和 WebdriverIO 测试 React 应用程序

在当今的数字世界中,测试工程师必须具备高效且有效的策略与技能,以在快速迭代的敏捷环境中测试软件。Postman 是一款广为人知的 API 测试工具,可用于构建、测试和发布 API,它允许你执行临时测试以及完全自动化的测试套件。WebdriverIO 是一个现代的 JavaScript 测试框架,适用于浏览器和移动设备的自动化测试。 你将从传统与新兴的软件构建与测试方法的基础知识开始。接着,学习测试规划与设计策略,帮助测试工程师为任何应用选择最佳的测试用例执行方式。然后,你将了解如何从终端用户的角度使用 Postman 测试应用程序。最后,你将通过 Postman 和 WebdriverIO 对一个工单管理器进行测试。 完成本课程后,你将掌握在测试工程领域或其他需要测试活动的角色中取得成功并实现职业发展的关键技能。

12h

Beginner

使用 n8n 自动化工作流

使用 n8n 自动化工作流

本课程向开发者介绍 n8n 用于自动化和集成。你将从探索以开发人员为中心的自动化基础概念开始,通过使用 Webhooks 从 GitHub 获取问题,构建你的第一个实时工作流。 接着,你将通过表达式和分支逻辑为自动化添加智能。课程深入讲解 Code 节点,当预构建节点无法满足需求时,可使用它编写自定义的 JavaScript 或 Python 逻辑。 然后,你将学习如何构建可靠的自动化,调试复杂的工作流,并与任意 API 进行集成。重点之一是人工智能:你将通过与 AI 代理、大语言模型(LLMs)集成,以及使用检索增强生成(RAG)和向量存储构建强大的知识库,获得实战经验。你还将学习如何通过 Model Context Protocol (MCP) 使用外部 AI 工具。课程最后涵盖关键的生产环境最佳实践,包括部署策略以及在实际环境中维护可扩展自动化的技巧。

2h

Beginner

现代数据库导论

现代数据库导论

现代数据库几乎支撑着每一个应用程序,从小型网站到企业级系统都离不开它们。掌握如何设计、管理和优化这些系统,是开发者和数据专业人士的关键技能。在本课程中,你将首先探索数据库的基础概念、模型和架构,包括关系型和 NoSQL 系统。 接着,你将学习实体关系(ER)建模、关系模式设计以及规范化技术,以确保数据结构的高效性和一致性。随后,你将通过实际操作编写 SQL 查询,使用 DDL、DML、连接(joins)、子查询和窗口函数。你还将深入研究事务、索引、查询优化和并发控制,以构建高性能且可靠的系统。 完成本课程后,你将能够自信地对关系型和 NoSQL 数据库进行建模、创建和查询。你将理解在何种场景下以及如何根据实际应用需求选择合适的数据库类型。

9h

Beginner

学习 Node.js

学习 Node.js

这个 Node.js 路线图提供了一条结构化且可定制的路径,帮助你掌握后端开发。它介绍了在服务器端上下文中使用 Node.js 和 JavaScript,涵盖模块和核心概念。你将学习通过回调函数、Promises、async/await 以及事件循环实现异步编程,随后了解使用 EventEmitter 类进行事件驱动编程。实践技能包括文件系统操作、缓冲区处理,以及使用流来高效处理数据。 该路线图引导你构建 HTTP 服务器,实现路由功能,处理 GET/POST 请求,并集成 PostgreSQL 以构建基于数据库的 API。其他主题还包括基于 JWT 的认证、使用 WebSockets 实现实时功能(如聊天系统和实时仪表板),以及使用 Jest 进行测试。 在最终项目中,你将构建一个 RESTful API,用于存储任意 JSON 数据,并支持以 JSON、HTML 或 CSV 格式进行过滤和检索,从而提升你在构建可扩展后端解决方案方面的技能,使其更贴合你的目标。

3h 24m

Beginner

在 AI 时代学习 JavaScript

在 AI 时代学习 JavaScript

本课程旨在教你如何在人工智能时代学习编程。课程在初学者所需的清晰概念理解与 AI 将纯 JavaScript 代码转化为专业网页应用的能力之间取得平衡,采用高度融合 AI、动手实践且项目驱动的方法。 你将从简单的打印语句和变量开始,逐步掌握条件判断、循环和数据结构:通过真实世界项目(如收据生成器、智能手表步数追踪器或饮食计划表)进行巩固。你将练习如何向 AI 提出指令以生成、优化和调试代码,从而建立语法知识和现代编程工作流程。 课程最终以一个综合性的“预算追踪器”应用收尾,你将从客户处收集需求,实现功能,添加错误处理,并将应用转换为具有专业外观的图形化界面网页应用。通过指导性课程、互动式 AI 支持以及六个完整项目,你将掌握实用技能,并拥有一个可向科技界展示的作品集。

3h

Beginner

Grokking Node.js 设计模式面试指南

Grokking Node.js 设计模式面试指南

设计模式是经过验证的代码组织方式,能够确保系统演进过程中代码依然保持灵活性。它们帮助你构建可扩展、可变更并能轻松集成新行为的应用程序,而无需频繁重写。在本课程中,你不仅学习设计模式,还将通过解决真实的 Node.js 工程问题来发现这些模式。 每个模块都从日常后端工作中遇到的实际挑战开始,例如更改依赖项、扩展功能或引入运行时灵活性。你将首先了解痛点,然后揭示一种可复用的设计如何作为简洁的解决方案浮现出来。 通过逐步深入的编码练习,你将反复实践这些理念,直到它们成为你的本能反应。课程结束时,你编写的 Node.js 代码不仅正确,而且经过精心设计、结构清晰,具备良好的可扩展性,易于维护,并能从容应对未来的变化。

25h

Intermediate

使用 Next.js 构建全栈 Web 应用

使用 Next.js 构建全栈 Web 应用

Next.js 是一个用于构建快速、可扩展的 Web 应用程序的生产就绪 React 框架,具备内置的路由、渲染和数据获取功能。它广泛应用于现代全栈应用中,尤其在性能、开发者体验和可维护性至关重要的场景。 在本课程中,你将学习 Next.js v16 的独特之处,以及为何 App Router 成为新项目的默认选择。你将探索应用结构、灵活路由、布局、并行路由与拦截路由、React Server Components 以及使用 Suspense 实现的流式传输。课程还涵盖渲染策略(SSG、SSR、ISR)、样式处理、图像优化、服务器动作、路由处理器、中间件(代理)以及身份验证。 课程结束时,你将能够使用现代 React 特性构建全栈 Next.js 应用,并完成一个综合项目,将所学知识融会贯通。

11h

Beginner

前端端到端测试:Cypress

前端端到端测试:Cypress

Cypress,一个端到端测试框架,已成为前端开发人员测试应用程序的热门选择,因为它提供了一个快速、易于使用且可靠的测试工具。它可以帮助你在问题进入生产环境之前捕获缺陷,从而提升网站质量。 在本课程中,你将从 Cypress 的基础知识开始,了解为什么 Cypress 是一个出色的选择,它的工作原理是什么,以及如何借助它创建健壮的测试用例。我们还将通过集成 Deque 的 Axe(一个可访问性引擎),确保我们的网站能够被尽可能广泛的用户群体使用。 完成本课程后,你将具备坚实的基础,以提升前端应用的质量,并学习更高级的概念,将你的 E2E 测试能力推向新的高度。

2h 10m

Beginner

Web 上的 Firebase 完全指南

Web 上的 Firebase 完全指南

Firebase 是一个统一的应用程序开发平台,用于创建、部署和监控网页及移动应用体验。它将常见的产品功能整合到一个平台上,使工程师能够专注于构建功能和用户体验,而无需自行搭建基础设施。 本课程通过动手开发一个网页应用,全面介绍 Firebase 9 SDK。你将从基础概念和功能开始,例如认证、数据库和使用 Firestore 的 Cloud Storage。随后,你将学习 Firebase 的 Cloud Functions、环境变量、安全规则以及托管功能,最后通过命令行界面(CLI)部署应用。在每个步骤中,你都将进行实践练习,修改代码,在浏览器中实时查看输出结果,并完成评估测试。 完成本课程后,你将掌握使用 Firebase 9 SDK 构建和部署网页应用所需的所有工具——这是 Firebase 的最新版本。

6h 45m

Intermediate

使用 Next.js 和 Strapi CMS 构建 Jamstack 应用程序

使用 Next.js 和 Strapi CMS 构建 Jamstack 应用程序

Jamstack 提出了一种创建灵活、安全且性能高效的网络应用的架构。本课程采用教程式方法,教你如何使用 Next.js 和 Strapi 构建一个完整的 Jamstack 应用。 本课程将向你介绍 Jamstack 以及它与传统网络应用的区别。你将学习 Next.js 的相关知识,并了解如何创建静态网站。在此过程中,你将创建一个食谱应用,通过 TheMealDB API 获取食谱列表。你还将集成 Strapi 作为无头 CMS,实现用户认证功能,并允许用户保存他们喜欢的食谱。课程最后,你将完成一个项目,使用 Strapi 和 Next.js 实现用户认证,并允许用户为自己创建、检索、更新和删除笔记。 完成本课程后,你将全面掌握 Strapi 和 Next.js,能够构建灵活、安全且性能高效的网络应用。

8h

Beginner

在 AI 时代构建 2048 游戏

在 AI 时代构建 2048 游戏

本课程聚焦于使用游戏 2048 作为单一的端到端项目,设计并构建软件系统。重点不在于语法,而在于工程流程:将产品分解为组件、定义清晰的接口,并逐步组装它们。课程从一个可完整运行的 2048 版本出发,逆向设计解决方案。核心游戏逻辑使用 Python 实现,涵盖棋盘表示、移动、合并、计分以及游戏状态检测。 在课程过程中,你将有意利用 AI 生成辅助函数、验证逻辑、编写测试、重构代码,并将同一游戏引擎移植到不同界面。课程最终以一个毕业项目收尾,学习者需将其基于 Python 的 2048 引擎转换为一个使用原生 JavaScript 和 HTML 完全可玩的网页应用。 课程结束时,你将完成一个完整的游戏开发,实现部署,并实践一种由 AI 增强的开发工作流。

3h

Beginner

通过渐进式Web应用优化您的网络项目

通过渐进式Web应用优化您的网络项目

渐进式Web应用(Progressive Web Applications,简称PWA)代表了现代Web解决方案的前沿。通过采用恰当的策略,我们可以显著提升整体性能,并在无网络连接的情况下依然提供数据支持。 在日益以移动设备为主导的世界中,优化网页加载时间可能直接决定我们业务的成功与否。 我们将首先介绍PWA的概念,并阐述其相较于原生应用和传统Web应用的优势。随后深入探讨核心概念,如服务工作线程(service workers)、缓存策略及其在不同场景下的适用时机。 除了通用且与框架无关的代码示例外,本课程还将专门设置一个“动手实践”环节,聚焦于Angular框架,从零开始构建一个完整的、贴近真实世界的PWA项目。 最后,我们将学习如何将PWA部署到云端,涵盖多种云服务商的方案,并详细讲解使用Firebase平台的具体方法。由此,完成我们对PWA领域的全面探索之旅。

5h

Beginner

WordPress——完整指南

WordPress——完整指南

精通创建交互式 WordPress 主题的需求很高,将为你打开众多职业发展机会。本课程中,你将学习 PHP 和 JavaScript,通过编码实现为客户定制解决方案。 你将从 WordPress 主题的基础知识开始,包括博客列表、单篇文章和归档页面的实现,通过为一家虚构学校搭建网站并使用 HTML 模板,掌握如何将任意静态 HTML 模板转化为交互式 WordPress 主题。随后,你将深入学习高级主题,如自定义文章类型、使用自定义参数查询 WordPress 数据库,以及通过文章类型之间的关联关系连接内容。 接下来,你将学习如何使用 JavaScript 构建动态网站,并与 WordPress REST API 进行交互。完成本课程后,你将掌握一套强大的工具,能够用 WordPress 实现任何你想象中的项目。

25h

Beginner

Web开发:深入解析HTML、CSS和JavaScript

Web开发:深入解析HTML、CSS和JavaScript

HTML、CSS 和 JavaScript:前端开发的三大核心技术。如果你希望快速入门前端开发,这门课程非常适合你。即使你来自软件开发的其他领域,也能从中获益,不过无需具备先验经验。 本课程将从对 HTML、CSS 和 JavaScript 的简要介绍开始。你将通过一系列实例动手实践,理解它们各自的作用与运行机制。随后,课程将深入探讨每一项技术,涵盖 HTML 中的表单与控件、JavaScript 中的面向对象编程,以及让网页外观更出色的最重要 CSS 设计模式。 完成本课程后,你将能够独立开发出响应式、样式美观且性能优良的 Web 应用程序。

20h

Beginner

Web开发面试手册

Web开发面试手册

本课程汇集了前端面试中最可能被问到的各类问题。与许多面试准备课程侧重于数据结构和算法不同,本课程聚焦于从网络安全到系统设计的多种主题。 在本课程中,你将解决涵盖网页开发通用方面的面试题。你将首先学习网络安全性以及负载均衡和浏览器渲染的优化技术。随后,你将深入探讨关于SEO、API以及系统设计的面试问题。 总体而言,这些问题常常被忽视,但它们能让你在同龄人中脱颖而出。完成本课程后,你将具备充分的信心和能力,在面试中从容应对并取得优异表现。

6h 30m

Intermediate

Web应用安全:理解HTTP安全头

Web应用安全:理解HTTP安全头

本课程教你如何动手实践使用HTTP安全头作为浏览器安全控制,以帮助保护Web应用程序。 针对每一种能够提升Web应用安全性的HTTP安全头,你将了解不实现它的总体风险,以及所提出解决方案能带来哪些防护效果。最后,你将学习如何使用Helmet——一个在npm上广受欢迎且维护良好的Node.js工具包——来实现和配置这些安全头。

1h 10m

Beginner

Vue - 通往企业级开发之路

Vue - 通往企业级开发之路

Vue 是一个流行的前端开发 JavaScript 框架,轻量、灵活,并拥有活跃且不断发展的生态系统。 本课程汇集了大型应用开发中各项核心概念的最佳实践、高级模式、使用指南和实用技巧。课程首先讲解 Vue 3 与 Vue 2 的区别,并介绍如何将 Vue 2 应用迁移至 Vue 3。随后涵盖项目配置、文档编写、实用开发工具以及可扩展架构的构建方法。在了解 API 层设计和状态管理的最佳实践后,我们将深入探讨性能优化与应用安全。课程最后讨论测试 Vue 应用的工具与最佳实践。 完成本课程后,你将能够创建、文档化并测试大型前端应用,同时掌握提升应用性能和增强安全性的方法。

40h

Intermediate

算法的视觉入门

算法的视觉入门

通过文章、可视化演示、测验和编程挑战,学习计算机科学的基础算法,包括搜索、排序、递归和图论。使用 Java、Python、C++ 或 JavaScript 实现相关挑战。

14h

Beginner

Default course image

使用 TypeScript 构建多态 React 组件

TypeScript 已成为构建现代 Web 应用的行业标准。随着设计系统和可复用组件的兴起,为现代 Web 工程师掌握构建强类型多态组件的能力变得尤为重要。 本课程采用自底向上的方法,教你如何构建强类型的多态组件。你将从一个简单的多态组件实现开始,分析其存在的问题。接着,利用 TypeScript 构建一个可用于生产环境的组件接口。最后,通过支持组件引用等高级用例,开发出一个可在多个组件中复用的实用工具。 完成本课程后,你将具备构建适用于设计系统的组件的能力,并超越基础的可复用需求。

8h

Intermediate

使用 Jasmine 对你的 JavaScript 应用进行单元测试

使用 Jasmine 对你的 JavaScript 应用进行单元测试

本课程将教授学习者如何测试函数和类,模拟依赖项,命名测试,测试异步代码,测试 Node.js 代码,以及测试依赖浏览器 API 的代码。

6h 30m

Beginner

使用 fp-ts 进行 TypeScript 中的函数式编程

使用 fp-ts 进行 TypeScript 中的函数式编程

函数式编程是一种强调不可变性和纯函数的编程范式。它不仅让代码更易于理解、测试和并行处理,还能提升性能。TypeScript 是一种静态类型、面向对象的编程语言,建立在 JavaScript 之上。尽管 TypeScript 不是纯粹的函数式编程语言,但同样可以用来编写函数式代码。 本课程适合几乎没有 TypeScript 和函数式编程基础的初学者。你将从学习基础知识开始,逐步完成多个复杂度递增的项目。你还将了解 fp-ts 这个库,它提供多种函数式编程的构造工具。课程涵盖 fp-ts 的核心功能,以及一些重要的单子(monads),如 Option、Either 和 TaskEither。 完成本课程后,你将掌握如何在新的或现有的 TypeScript 项目中应用函数式编程技巧和 fp-ts,迈向成为这两方面专家的道路!

30h

Intermediate

快速上手 Node 与 GraphQL

快速上手 Node 与 GraphQL

在本课程中,你将学习GraphQL的真正含义,如何用它设计出强大且可扩展的API,并在Node.js中实现它。 你将首先了解GraphQL的优点和缺点,以掌握其局限性以及适用场景。接着,你将简要探讨REST与GraphQL之间的争议,理解支持和反对两者的原因。 在课程的后半部分,你将深入学习GraphQL类型、模式和变更(mutations)等概念。在最后几节中,你将运用所学知识,在Node.js中构建一个GraphQL API,并确保其具备良好的一致性与可扩展性。

30m

Beginner

释放 TypeScript 的强大功能

释放 TypeScript 的强大功能

本课程帮助学习者掌握 TypeScript 的高级技能。通过本课程,你将深入理解 TypeScript 的核心概念与技术,具备构建健壮、可扩展且易于维护的应用程序所需的知识。 课程涵盖多个主题,包括优化 reducers 以提升类型安全性和高效的状态管理;深入探讨 TypeScript 中的泛型,并解决 React Context API 面临的挑战;你还将学习如何扩展 DOM 元素,以及如何创建多态组件。最后,课程将带你了解 TypeScript 5.0 的最新特性。 完成本课程后,你将具备成为熟练 TypeScript 开发者的技能与知识,能够自信应对复杂的开发挑战。无论从事前端还是后端开发,你都将为使用 TypeScript 进行现代 Web 开发做好充分准备。

18h

Intermediate

Delve into any sector with JavaScript

  • Frontend web development
  • Backend server development (Node.js)
  • Mobile app development (React Native)
  • Desktop applications (Electron)

JavaScript's versatility extends far beyond web browsers. Its extensive ecosystem enables rapid development across multiple platforms and domains, making it the most widely-used programming language in the world.

Get started with JavaScript

Whether you want to create interactive websites, build mobile apps, or develop server-side applications, JavaScript provides the foundation for modern web development. Start with the basics and gradually explore frameworks like React, Vue, and Node.js to build full-stack applications.

Explore everything: JavaScript

Master JavaScript with comprehensive courses that cover everything from fundamentals to advanced frameworks!

  • Interactive coding: Write and test JavaScript code directly in your browser with instant feedback.
  • Framework mastery: Learn popular frameworks like React, Vue, Angular, and Node.js through hands-on projects.
  • Real-world applications: Build portfolio-worthy projects including web apps, APIs, and mobile applications.
  • Industry best practices: Learn modern JavaScript (ES6+), testing, debugging, and performance optimization.
  • Career preparation: Develop skills that are in high demand across the tech industry.

Experience a learning journey where every lesson is interactive, every project is exciting, and every challenge is a chance to level up your skills. Get ready to code, create, and conquer the world of programming—because your future in tech starts now!

Frequently Asked Questions

JavaScript is the only programming language that runs natively in web browsers, making it essential for web development. It's versatile, running on both frontend and backend (Node.js), has a huge ecosystem of libraries and frameworks, and offers excellent job opportunities in web development.

JavaScript is an excellent first language because you can see immediate visual results in web browsers, it has a relatively gentle learning curve, and there's a massive community and learning resources. You can start building interactive websites right away without complex setup.

Despite similar names, JavaScript and Java are completely different languages. JavaScript is primarily for web development and runs in browsers, while Java is for enterprise applications and runs on the Java Virtual Machine. JavaScript is dynamically typed and interpreted, while Java is statically typed and compiled.