跳转到主要内容
eLearner.app

互动课程

JavaScript 课程

使用直接在浏览器中运行代码的引擎,用英语从头开始学习 JavaScript。

01 · 模块 1 — 语言基础知识

4 节课

基础:声明变量、识别类型、算术和决策。

  1. 1.1变量:let 和 const声明值、在 const 和 let 之间进行选择、了解基本范围。~8 min
  2. 1.2原始类型字符串、数字、布尔值、null、未定义:语言的构建块。~8 min
  3. 1.3运营商算术、比较、布尔逻辑和运算符优先级。~10 min
  4. 1.4条件:if、else、三元根据表达式的值运行不同的代码。~10 min

02 · 模块 2 — 字符串和数字

4 节课

最常用的两种类型:使用模板文字编写文本、使用字符串方法对其进行操作、使用数字和 Math 进行算术运算。

  1. 2.1字符串和模板文字用于撰写文本的引号、转义符、反引号和“${...}”插值。~8 min
  2. 2.2字符串方法length、toUpperCase、includes、slice、split、replace:这些你每天都会用到的方法。~10 min
  3. 2.3数字和数学整数和小数、四舍五入、Math.min/max/round/floor/ceil、Math.random。~10 min
  4. 2.4类型转换Number、String、parseInt、parseFloat、toFixed 以及当 NaN 困扰您时。~8 min

03 · 模块 3 — 数组和对象

4 节课

您最常使用的两种数据结构:有序列表(数组)和键值映射(对象)。

  1. 3.1数组:有序列表创建数组,按索引读/写、push/pop/shift/unshift、长度。~10 min
  2. 3.2对象:键值映射文字、点和括号访问、添加/删除属性。~10 min
  3. 3.3解构与传播在一行中提取多个值;使用“...”复制并合并数组和对象。~12 min
  4. 3.4迭代集合for...of 在数组上,for...in 在对象上,Object.keys/values/entries。~10 min

04 · 第 4 单元 — 功能

4 节课

将您的程序分解为可重用的部分:声明它们,用箭头紧凑地编写它们,传递灵活的参数并理解闭包。

  1. 4.1声明一个函数函数声明与函数表达式、参数、返回。~10 min
  2. 4.2箭头功能紧凑的`=>`语法,简洁的主体与块,隐式返回。~10 min
  3. 4.3默认和其余参数默认值,变量参数计数的“...rest”,在调用站点传播。~12 min
  4. 4.4关闭和范围记住环境的函数:计数器、工厂、作用域链。~12 min

05 · 模块 5 — 控制流程

4 节课

重复、跳转、处理错误:这些结构使您的代码能够对数据和问题做出反应。

  1. 5.1循环:for 和 while经典的 for、while、do...while:重复直到满足条件。~10 min
  2. 5.2为…的和为…在迭代集合的值与对象的键。什么时候用哪个。~10 min
  3. 5.3中断并继续提前退出循环,或跳转到下一个迭代。~10 min
  4. 5.4尝试/捕捉/抛出引发并捕获错误,将正常流程与异常流程分开。~12 min

06 · 模块 6 — 函数式数组方法

4 节课

转换数组的方法:映射以更改每个元素,过滤以选择,减少以聚合,查找/某些/每个以搜索,排序以顺序。

  1. 6.1地图和过滤器变换每个元素(映射)并选择一个子集(过滤器)。~10 min
  2. 6.2减少将数组聚合为单个值:总和、计数、映射。~12 min
  3. 6.3找到、一些、每一个找到第一个,检查是否至少有一个或全部满足谓词。~10 min
  4. 6.4排序使用比较器对数组进行排序;稳定排序,通过 toSorted 复制。~12 min

07 · 模块 7 — 异步

4 节课

等待的代码:Promise、async/await、模拟网络调用(fetch)和异步错误处理。

  1. 7.1承诺:它们是什么待处理/已完成/拒绝状态,.then/.catch,Promise.resolve 和拒绝。~12 min
  2. 7.2异步/等待编写读起来像同步代码一样的异步代码。~12 min
  3. 7.3获取(模拟)调用端点、读取 JSON、使用 Promise.all 组合结果。~14 min
  4. 7.4异步代码中的错误try/catch 周围的等待,.catch 的 Promise,失败的 Promise.all。~12 min

08 · 模块 8 — 练习和作文

4 节课

将所有部分放在一起:在模块中组织代码、解析 CSV、验证输入数据并使用 Promises 安排任务。

  1. 8.1ESM 模块:导入/导出将代码拆分为文件并通过导出和导入构建库(概念)。~12 min
  2. 8.2挑战:CSV 解析器使用拆分、映射和解构将 CSV 字符串转换为对象数组。~15 min
  3. 8.3挑战:数据验证器使用可组合规则验证对象并收集所有错误。~15 min
  4. 8.4挑战:使用 Promise 进行调度以串行、并行和并发限制的方式运行任务。~15 min