前端开发(进阶)
助教微信
udacity公众号
Nanodegree key: nd001-cn-advanced
Version: 4.0.0
Locale: zh-cn
进一步夯实你的前端开发高级技能,完成一系列实战项目,成为一名独当一面的前端工程师!
Content
Part 01 : 纳米学位新生营
开始学习纳米学位课程,并了解如何充分利用优达学城的资源!
Module 01: 纳米学位新生营
Module 01: 面向对象的 JavaScript
- Lesson 01: 作用域跟随 Marcus Phillips 和 Mike Wales 学习什么是作用域(scopes),以及为什么使用 JavaScript 时你需要注意它。
- Concept 01: 简介
- Concept 02: 继续之前
- Concept 03: 作用域和闭包
- Concept 04: 作用域:示例
- Concept 05: 词法作用域
- Concept 06: 变量访问权限
- Concept 07: 作用域限制
- Concept 08: 调用函数
- Concept 09: 执行环境简介
- Concept 10: 执行环境与词法作用域
- Concept 11: 内存中的数据存储
- Concept 12: 内存作用域与内存对象
- Concept 13: 预测执行环境的输出
- Concept 14: 构建多个执行作用域
- Concept 15: 继续预测输出
- Concept 16: 完成我们的预测
- Lesson 02: 闭包学习 JavaScript 的一个难点——闭包。你将学习如何利用闭包保留某个函数及其环境的访问权限,即使该函数已经执行完毕。
- Concept 01: 闭包简介
- Concept 02: 保留函数访问权限
- Concept 03: 预测代码输出
- Concept 04: 预测执行环境
- Concept 05: 预测闭包输出
- Concept 06: 预测闭包输出 (2)
- Concept 07: 预测闭包输出 (3)
- Concept 08: 预测闭包输出 (4)
- Concept 09: 预测闭包输出 (5)
- Concept 10: 预测执行环境 (2)
- Concept 11: 预测闭包输出 (6)
- Concept 12: 小结
- Lesson 03: ‘this’ 关键字学习 this 关键字的重要性,了解当你试图在代码中使用它时可能遇到的问题。
- Concept 01: 简介
- Concept 02: 定义关键字 ‘this’
- Concept 03: ‘this’ 不会绑定的
- Concept 04: ‘this’ 所绑定的
- Concept 05: 预测参数输出
- Concept 06: 预测参数输出 (2)
- Concept 07: 预测 ‘this’ 输出
- Concept 08: 预测 ‘this’ 输出 (2)
- Concept 09: 预测 ‘this’ 输出 (3)
- Concept 10: 预测 ‘this’ 输出 (4)
- Concept 11: 预测 ‘this’ 输出 (5)
- Concept 12: 解构 setTimeout
- Concept 13: 预测 ‘this’ 输出 (6)
- Concept 14: 确定 ‘this’ 绑定
- Concept 15: 预测 ‘this’ 输出 (7)
- Concept 16: 预测 ‘this’ 输出 (8)
- Concept 17: 预测 ‘this’ 输出 (9)
- Concept 18: 预测 ‘new’ 命令下的 ‘this’ 输出
- Concept 19: 小结
- Lesson 04: 原型链深入学习原型链,理解 JavaScript 如何利用原型链来管理对象及其属性。
- Concept 01: 原型链
- Concept 02: 属性查找
- Concept 03: 一次性属性复制
- Concept 04: 预测原型的指派
- Concept 05: 预测未定义属性的查找
- Concept 06: 克隆对象的属性查找
- Concept 07: 派生对象的属性查找
- Concept 08: 对象原型
- Concept 09: 构造函数属性
- Concept 10: 数组原型
- Concept 11: 小结
- Lesson 05: 对象修饰模式学习你的第一段面向对象的 JavaScript 代码——使用对象修饰模式,来尽量减少你的项目中的代码的重复使用。
- Concept 01: 代码重复使用
- Concept 02: 代码重复使用示例
- Concept 03: 为我们的游戏编程
- Concept 04: 函数
- Concept 05: 重构代码的好处
- Concept 06: 修饰器函数
- Concept 07: 将方法添加至构造函数
- Concept 08: 预测 ‘this’ 的值
- Concept 09: 回顾 ‘this’ 参数
- Concept 10: 重构以整合代码
- Concept 11: 预测对象的严格比较
- Concept 12: 返回函数的严格比较
- Concept 13: 重构 .move() 方法
- Concept 14: 小结
- Lesson 06: 函数类拓展修饰符模式,使用函数将方法应用到任何对象上。
- Concept 01: 类简介
- Concept 02: 修饰符代码与类
- Concept 03: 减少重复性
- Concept 04: ‘this’ 参数
- Concept 05: 函数共享模式
- Concept 06: 将方法添加至类
- Concept 07: 属性访问权限
- Concept 08: 结论
- Lesson 07: 原型类学习使用 .prototype 简化对象,并提高你的应用的性能。
- Concept 01: 提高性能
- Concept 02: 提高性能的一种方法
- Concept 03: 委托关系
- Concept 04: 构造函数原型
- Concept 05: 原型如何影响内存中的模型
- Concept 06: .prototype 与 .method
- Concept 07: 晦涩的 .prototype 概念
- Concept 08: .prototype.constructor
- Concept 09: instanceof 运算符
- Concept 10: 小结
- Lesson 08: 伪类模式学习如何在 JavaScript 中仿照其他语言的类系统,来重写你的对象结构。
- Concept 01: 简介
- Concept 02: 构造函数模式
- Concept 03: 模式之间的差异
- Concept 04: 类的编码风格
- Concept 05: 小结
- Lesson 09: 超类和子类学习如何利用超类和子类来进一步减少创建对象时,重复使用的代码的量。
- Concept 01: 简介
- Concept 02: 构建类似对象
- Concept 03: 手动复制代码
- Concept 04: 重构至超类
- Concept 05: 小结
- Lesson 10: 伪类子类学习如何在你的超类中使用 ‘this’ 关键字,如何在类中使用 .call() 设置属性,以及如何委派原型到子类。
- Concept 01: 伪类子类简介
- Concept 02: 构建一个子类
- Concept 03: 错误的解决方案
- Concept 04: 使用 ‘new’ 的超类中的 ‘this’
- Concept 05: 未使用 ‘new’ 的超类中的 ‘this’
- Concept 06: .call() 的第一个参数
- Concept 07: 使用 .call()
- Concept 08: 子类属性原型委托
- Concept 09: 子类方法的原型委托
- Concept 10: 构造函数的原型委托
- Concept 11: 子类的原型委托
- Concept 12: 错误的子类原型委托
- Concept 13: 使用 Object.create()
- Concept 14: 子类原型构造函数属性
- Concept 15: 子类构造函数的委托
- Concept 16: 正确的子类构造函数委托
- Concept 17: 伪类子类小结
- Concept 18: 回顾
- Lesson 01: 作用域跟随 Marcus Phillips 和 Mike Wales 学习什么是作用域(scopes),以及为什么使用 JavaScript 时你需要注意它。
Module 02: 项目 - 记忆游戏
Module 01: 编写 README 文档
- Lesson 01: 编写 README 文档在本课程中,你将学习什么是文档,为何文档是开发流程的重要组成部分。你将学习如何编写结构清晰的 README,并运用在后续的项目中。学完本课程后,你将能够使用 Markdown 编写自己的 README 文件。
- Concept 01: 欢迎
- Concept 02: 什么是文档?
- Concept 03: 文档是写给谁看的?
- Concept 04: Nija 如何使用文档?
- Concept 05: 为什么 Art 应该为他的代码编写文档?
- Concept 06: README 简介
- Concept 07: README 的构成
- Concept 08: 记录不断扩大的代码库
- Concept 09: 用 Markdown 编写易读的 README 文档
- Concept 10: 基本 Markdown 语法
- Concept 11: 基本 Markdown 语法
- Concept 12: 更多 Markdown 语法
- Concept 13: 将一切记录在案!
- Lesson 01: 编写 README 文档在本课程中,你将学习什么是文档,为何文档是开发流程的重要组成部分。你将学习如何编写结构清晰的 README,并运用在后续的项目中。学完本课程后,你将能够使用 Markdown 编写自己的 README 文件。
- Module 02: ES6
- Lesson 01: ES6 - 语法这次对 JavaScript 语言做出重大更新后,添加了很多语法改善的地方。在这节课,你将学习利用这些语法更新改善你的 JavaScript 代码。
- Concept 01: Harmony, ES6, ES2015…
- Concept 02: Let 和 Const
- Concept 03: 练习:使用 Let 和 Const (1-1)
- Concept 04: 模板字面量
- Concept 05: 练习:构建 HTML 片段 (1-2)
- Concept 06: 解构
- Concept 07: 练习:解构数组 (1-3)
- Concept 08: 对象字面量简写法
- Concept 09: 第 1 节课知识点检验
- Concept 10: 迭代
- Concept 11: For 循环系列
- Concept 12: For…of 循环
- Concept 13: 练习:编写 For…of 循环 (1-4)
- Concept 14: 展开… 运算符
- Concept 15: …剩余参数
- Concept 16: 练习:使用剩余参数 (1-5)
- Concept 17: 第 1 节课总结
- Lesson 02: ES6 - 函数函数是 JavaScript 的核心!在 ES6 中,函数出现了很多必要的改进。在这节课,你将学习很多新内容,包括箭头函数和类。
- Concept 01: 函数的更新
- Concept 02: 箭头函数
- Concept 03: 使用箭头函数
- Concept 04: 练习:将函数转换为箭头函数 (2-1)
- Concept 05: 箭头函数总结
- Concept 06: 箭头函数和”this”关键字
- Concept 07: “this” 和普通函数
- Concept 08: “this” 和箭头函数
- Concept 09: 默认函数参数
- Concept 10: 默认值和解构
- Concept 11: 练习:使用默认函数参数 (2-2)
- Concept 12: 类预览
- Concept 13: 对 JavaScript 类的错觉
- Concept 14: JavaScript 类
- Concept 15: 将函数转换为类
- Concept 16: 使用 JavaScript 类
- Concept 17: super 和 extends
- Concept 18: 从 ES5 到 ES6 的类扩展
- Concept 19: 使用 JavaScript 子类
- Concept 20: 练习:构建类和子类 (2-3)
- Concept 21: 第 2 节课总结
- Lesson 03: ES6 - 内置功能JavaScript 环境默认地提供了各种功能。在这节课,我们将了解 Set、Map、Proxy、生成器以及迭代器的工作原理和更多知识!
- Concept 01: 新的内置功能
- Concept 02: Symbol 简介
- Concept 03: Symbol
- Concept 04: 迭代器协议和可迭代协议
- Concept 05: Set
- Concept 06: 修改 Set
- Concept 07: 使用 Set
- Concept 08: Set 与迭代器
- Concept 09: 练习:使用 Set
- Concept 10: WeakSet
- Concept 11: 练习:处理 WeakSet
- Concept 12: Map
- Concept 13: 创建和修改 Map
- Concept 14: 处理 Map
- Concept 15: 循环访问 Map
- Concept 16: WeakMap
- Concept 17: Promise 简介
- Concept 18: Promise
- Concept 19: 更多 Promise
- Concept 20: Proxy 简介
- Concept 21: Proxy
- Concept 22: Proxy 与 ES5 Getter/Setter
- Concept 23: Proxy 小结
- Concept 24: 生成器
- Concept 25: 生成器和迭代器
- Concept 26: 向生成器中发送数据或从中向外发送数据
- Concept 27: 第 3 课总结
- Lesson 04: ES6 - 专业开发者功能经过这么多的改进后,并非所有浏览器都能支持这一新版 JavaScript。在这节课,你将学习如何使用 polyfill 并将 ES6 JavaScript 代码转译为 ES5。
- Concept 01: Web在不断发展
- Concept 02: 新旧浏览器(了解)
- Concept 03: ES6 规范
- Concept 04: 支持的功能
- Concept 05: Web是永恒发展的
- Concept 06: Polyfill
- Concept 07: 使用 Polyfill
- Concept 08: Polyfill 步骤讲解
- Concept 09: Polyfill 的其他用途
- Concept 10: 转译
- Concept 11: 使用 Babel
- Concept 12: 转译步骤讲解
- Concept 13: 转译小结
- Concept 14: 课程总结
- Lesson 01: ES6 - 语法这次对 JavaScript 语言做出重大更新后,添加了很多语法改善的地方。在这节课,你将学习利用这些语法更新改善你的 JavaScript 代码。
Module 03: 项目 - 经典街机游戏克隆
- Lesson 01: 项目 - 经典街机游戏克隆你将获得可视化资源和游戏循环引擎;使用这些工具时,你必须向游戏添加一系列实体(包括玩家角色和敌人),以重新创建经典街机游戏“青蛙过河”。Project Description - 经典街机游戏克隆Project Rubric - 经典街机游戏克隆
Module 01: JavaScript 测试
- Lesson 01: 重新思考测试跟随 Mike Wales 了解为何编写测试是所有项目的重要一环,以及如何开始编写你自己的测试。
- Concept 01: 课程简介
- Concept 02: 什么是测试?
- Concept 03: 始终失败
- Concept 04: 验证观点
- Concept 05: 分析预期
- Concept 06: 定义预期
- Concept 07: 重构 add()
- Concept 08: 使用代码编写预期
- Concept 09: 课程结论
- Lesson 02: 编写测试套件学习如何使用 Jasmine 测试套件对代码运行测试,以及如何 处理包括异步代码在内的各种情况。
- Concept 01: Jasmine 简介
- Concept 02: 浏览 SpecRunner
- Concept 03: 识别套件和 Spec
- Concept 04: 套件和 Spec 简介
- Concept 05: 编写测试
- Concept 06: 每个 Spec 的多次测试
- Concept 07: 失败-成功-重构入门
- Concept 08: 编写 AddressBookSpec.js
- Concept 09: 编写实现
- Concept 10: 迭代实现
- Concept 11: 完成实现
- Concept 12: Mike 的解决方案
- Concept 13: 其他 Spec
- Concept 14: 移除冗余代码
- Concept 15: 测试异步代码
- Concept 16: 编写异步测试
- Concept 17: 运行第一个异步测试
- Concept 18: 更正异步测试
- Concept 19: 小结
- Lesson 01: 重新思考测试跟随 Mike Wales 了解为何编写测试是所有项目的重要一环,以及如何开始编写你自己的测试。
Module 02: 项目 - 订阅阅读器测试
- Lesson 01: 项目 - 订阅阅读器测试现有另一位开发人员制作的反馈阅读器, 请使用 Jasmine 测试语法针对该阅读器编写测试代码。Project Description - 订阅阅读器测试Project Rubric - 订阅阅读器测试
Module 01: JavaScript 设计模式
- Lesson 01: 改变预期跟着 Ben Jaffe 学习为什么结构良好的代码很重要,以及如何使用 MV 方法创建更简洁的项目。
- Concept 01: 欢迎
- Concept 02: 介绍 Cat Clicker 和 Andy
- Concept 03: Cat Clicker 要求
- Concept 04: 思考
- Concept 05: Andy 的思考
- Concept 06: 要求会不断变化
- Concept 07: 第一个要求变化
- Concept 08: Cat Clicker 要求 2
- Concept 09: 思考 2
- Concept 10: Andy 的思考 2
- Concept 11: 闭包和事件侦听程序
- Concept 12: 第二个要求变化
- Concept 13: Cat Clicker 高级版要求
- Concept 14: 思考 3
- Concept 15: Andy 的思考 3
- Concept 16: 面条式代码故事时间
- Concept 17: 什么是面条式代码
- Concept 18: MVO 简介
- Concept 19: “模型”练习
- Concept 20: “视图”练习
- Concept 21: 我们代码的模型是什么
- Concept 22: 我们代码的视图是什么
- Concept 23: 我们代码的章鱼是什么
- Concept 24: 识别新应用中的 MVO
- Concept 25: 探索应用的结构
- Concept 26: 此功能在何处提供?
- Concept 27: 实施注释日期
- Concept 28: 准备第 2 课
- Lesson 02: 分离重构开始重构你的 Cat Clicker 应用的代码,学习如何最好地改进应用的结构。
- Concept 01: 第 2 课简介
- Concept 02: 识别模型和视图
- Concept 03: 检查高级版的模型和视图
- Concept 04: 确定章鱼
- Concept 05: Andy 的代码 1
- Concept 06: Andy 的代码 2
- Concept 07: 为 Andy 辩护
- Concept 08: 重新构建 Cat Clicker 高级版
- Concept 09: Cat Clicker 高级版要求
- Concept 10: Cat Clicker 高级版解决方案
- Concept 11: Cat Clicker 高级版解决方案评审
- Concept 12: Cat Clicker 高级专业版
- Concept 13: Cat Clicker 高级专业版要求
- Concept 14: 如何使项目现代化
- Concept 15: 采访 Nic
- Concept 16: 采访 Jacques
- Concept 17: 重构面条式代码
- Concept 18: 考勤应用的代码库
- Concept 19: 你用了哪种方法?
- Concept 20: 采访作者
- Concept 21: 重构简历应用
- Concept 22: 简历应用的代码库
- Concept 23: 准备第 3 课
- Lesson 03: 使用组织库学习 MV* 框架,使用 KnockoutJS 来改进你的 Cat Clicker 应用。
- Concept 01: 自然环境下的 MVO
- Concept 02: 库与框架 1
- Concept 03: 库与框架 2
- Concept 04: 就使用库采访 Nic
- Concept 05: 通用组织概念
- Concept 06: Knockout 会为我们提供哪些信息
- Concept 07: Knockout 中的绑定和视图
- Concept 08: Knockout视图 练习
- Concept 09: Knockout 中的模型
- Concept 10: Knockout 模型 练习
- Concept 11: 关于文档的采访
- Concept 12: 更智能的数组
- Concept 13: 智能模型以不同的方式工作
- Concept 14: 智能模型的优点
- Concept 15: jQuery 与 KnockOut 的相似处
- Concept 16: 使用 Knockout 构建内容
- Concept 17: Cat Clicker HTML 和绑定
- Concept 18: 计算出的观察变量
- Concept 19: 计算出的观察变量 练习
- Concept 20: 条款审核
- Concept 21: 实践中的计算出的观察变量
- Concept 22: 向 Cat Clicker 增加猫的等级
- Concept 23: 使用控制结构显示猫
- Concept 24: 分离出模型
- Concept 25: ‘with’ 和绑定上下文
- Concept 26: 如何实施 “With”
- Concept 27: 准备添加更多猫
- Concept 28: 添加更多猫
- Lesson 04: 学习新代码库学习如何使用新代码库,了解 BackboneJS 框架基础知识。
- Concept 01: 采访:获取上下文
- Concept 02: 接下来
- Concept 03: 探索新代码库
- Concept 04: 代码库练习
- Concept 05: 大致了解我们的库
- Concept 06: 采访:Tofu 风格
- Concept 07: 探索代码库
- Concept 08: 修改功能
- Concept 09: 添加其他 UI
- Concept 10: 添加新功能
- Concept 11: 更多想法
- Lesson 01: 改变预期跟着 Ben Jaffe 学习为什么结构良好的代码很重要,以及如何使用 MV 方法创建更简洁的项目。
- Module 02: 使用 Promises
- Lesson 01: 创建 Promise了解什么是 promise,它如何使编写异步 JavaScript 变得更加简单,以及如何处理错误。
- Concept 01: 课程简介
- Concept 02: 回调与 Promise
- Concept 03: 回调与 Then
- Concept 04: 课程图
- Concept 05: Promise 时间轴
- Concept 06: 异步情形
- Concept 07: 语法
- Concept 08: 编写你的首个 Promise
- Concept 09: 封装 readyState
- Concept 10: 重要事项!使用 Exoplanet Explorer
- Concept 11: 封装 XHR
- Concept 12: 网络技术
- Concept 13: Fetch API
- Concept 14: 下一步该怎么办?
- Lesson 02: 链接 Promise通过链接 Promise 创建一系列异步工作并深入了解高级错误处理方法。
- Concept 01: 获取并显示第一个行星
- Concept 02: 错误处理策略
- Concept 03: 链接的 Thenable
- Concept 04: 序列与并行请求
- Concept 05: 数组方法和 Promise
- Concept 06: 具有 .forEach 的 Promise
- Concept 07: 具有 .map 的 Promise
- Concept 08: 所有 Promise
- Concept 09: 课程结尾部分
- Concept 10: 系外行星 101
- Concept 11: 加分题:并行请求
- Lesson 01: 创建 Promise了解什么是 promise,它如何使编写异步 JavaScript 变得更加简单,以及如何处理错误。
- Module 03: 异步 JavaScript
- Lesson 01: Ajax 与 XHR在这节课,你将学习为何应该使用异步数据请求。你将使用 XHR 对象异步发送和接收数据。
- Concept 01: 课程简介
- Concept 02: 客户端服务器演示
- Concept 03: Ajax 定义和实例
- Concept 04: API
- Concept 05: 使用 XHR 创建异步请求
- Concept 06: XHR 对象
- Concept 07: XHR 的 .open() 方法
- Concept 08: XHR 的 .send() 方法
- Concept 09: 完整请求
- Concept 10: 项目初始结构介绍
- Concept 11: 设置请求标头
- Concept 12: 项目最终总结
- Concept 13: XHR 用法回顾
- Concept 14: XHR 总结
- Lesson 02: Ajax 与 jQuery在这节课,你将对比使用 XHR 和使用 jQuery 的 Ajax 方法。你将使用 jQuery 的 Ajax 方法发送和接收数据,并了解 jQuery 的 Ajax 背后的工作原理。
- Concept 01: jQuery 库和 Ajax
- Concept 02: jQuery 的
ajax()
方法 - Concept 03: 处理返回的数据
- Concept 04: 处理成功回调
- Concept 05: 代码讲解
- Concept 06: 查看 $.ajax() 的源代码
- Concept 07: 查看调用堆栈
- Concept 08: 讲解 .ajaxTransport
- Concept 09: jQuery 的其他异步方法
- Concept 10: 通过 jQuery 进行异步调用结尾
- Lesson 03: Ajax 与 Fetch在这节课,你将使用 JavaScript Promise 创建 fetch 请求并异步地处理返回的数据。你还将学习如何处理失败请求产生的错误。
- Concept 01: 使用 Fetch API 进行 Ajax 调用
- Concept 02: 什么是 Fetch
- Concept 03: 编写 Fetch 请求
- Concept 04: 处理响应
- Concept 05: Response 对象
- Concept 06: ES6 箭头函数
- Concept 07: 显示内容并处理错误
- Concept 08: 项目总结
- Concept 09: Fetch 结尾部分
- Concept 10: 课程结尾
- Lesson 01: Ajax 与 XHR在这节课,你将学习为何应该使用异步数据请求。你将使用 XHR 对象异步发送和接收数据。
Module 04: Google 地图 API
- Lesson 01: API 入门设置你的开发者证书,并开始使用 谷歌地图 API
- Concept 01: 简介
- Concept 02: 你的项目
- Concept 03: 你的 API 密钥
- Concept 04: JavaScript API 概览
- Concept 05: 地图简介
- Concept 06: 做标记
- Concept 07: 窗口购物 第 1 部分
- Concept 08: 窗口购物 第 2 部分
- Concept 09: 标记信息窗口
- Concept 10: 添加样式
- Concept 11: 样式
- Concept 12: 静态地图和街道视图成像
- Concept 13: 成像
- Concept 14: Pitch 和 Heading
- Concept 15: 库卡片
- Concept 16: 几何与可视化
- Concept 17: 绘图
- Concept 18: 绘图和几何
- Lesson 02: 了解 API 服务探索谷歌地图API提供的定位服务,包括地理编码、海拔和方向API。
- Concept 01: Web 服务与地理编码 第 1 部分
- Concept 02: Web 服务与地理编码 第 2 部分
- Concept 03: 地理编码的请求与响应
- Concept 04: 状态
- Concept 05: 地理编码的请求与响应
- Concept 06: 应用中的地理编码
- Concept 07: 解释地理编码响应
- Concept 08: 一山更比一山高 - 海拔 API
- Concept 09: 我的通勤生活 - 距离矩阵 API 第 1 部分
- Concept 10: 我的通勤生活 - 距离矩阵 API 第 2 部分
- Concept 11: 我要骑单车
- Concept 12: 我的通勤生活 - 方向 API
- Concept 13: 显示路线 - 方向服务
- Concept 14: 从起点到终点
- Concept 15: 距离矩阵和方向详情
- Concept 16: 蜿蜒长路 - 道路 API
- Concept 17: 少有人走的路
- Concept 18: 速度限制请求
- Concept 19: 道路 API
- Concept 20: 更快更好 - 地点自动完成 1
- Concept 21: 更快更好 - 地点自动完成 2
- Concept 22: 高速引擎
- Concept 23: 细节决定成败 - 地点详细信息
- Concept 24: 印象中的老地方
- Concept 25: 此处、彼处、世界各处
- Concept 26: 宇宙穿越 - 时区 API
- Concept 27: 时间的继续
- Concept 28: 我在这里,可这里是哪里?
- Concept 29: 迄今为止的旅程
- Lesson 03: 在实践中使用 API
- Concept 01: 你的 Google 开发者项目
- Concept 02: 高级计划详情
- Concept 03: 开发者文档
- Concept 04: 项目说明
- Concept 05: 反馈
- Lesson 04: 项目 - 街区地图你将开发一个具有你所在区域或想访问的区域的地图的单页应用程序。然后,你将为此地图添加其他功能,包括突出显示的地点、有关这些地点的第三方数据以及浏览内容的不同方式。Project Description - 街区地图Project Rubric - 街区地图
- Lesson 01: API 入门设置你的开发者证书,并开始使用 谷歌地图 API
Module 01: React 基础
- Lesson 01: 为何要学习 React?你将发现 React 的强大之处。你将创建简单的功能,并组合成复杂的功能,编写声明式代码,发现单向数据流并且发现 React 就是 JavaScript。
- Concept 01: 简介
- Concept 02: 什么是函数组合?
- Concept 03: 什么是声明式代码?
- Concept 04: 单向数据流
- Concept 05: React “就是 JavaScript”
- Concept 06: 课程总结
- Lesson 02: 使用 React 渲染 UI你将了解 React 如何创建和渲染元素。你还会将手动元素转换为 JSX,使用 create-react-app 搭建项目,并了解组件的简单介绍。
- Concept 01: 渲染 UI 简介
- Concept 02: 创建元素和 JSX
- Concept 03: 创建 React 应用
- Concept 04: 使用组件进行组合
- Concept 05: UI 渲染结尾部分
- Lesson 03: 状态管理你将学习如何向组件中传递数据、如何创建函数式组件、何时及如何使用 PropType、如何创建受控制的组件,以及它们提供的优势。
- Concept 01: 简介
- Concept 02: 使用 props 传递数据
- Concept 03: 函数式组件
- Concept 04: 向组件中添加状态
- Concept 05: 使用 setState 更新状态
- Concept 06: PropTypes
- Concept 07: 受控组件
- Concept 08: 课程总结
- Lesson 04: 使用外部数据渲染 UI在这节课,你将学习在 React 应用的哪个位置获取远程数据,还将学习不同的生命周期阶段以及如何利用这些阶段。
- Concept 01: 简介
- Concept 02: componentDidMount 生命周期事件
- Concept 03: 课程总结
- Lesson 05: 使用 React Router 管理应用位置信息你将学习如何使用 React Router 向 React 应用中添加路由。你将学习 BrowserRouter、Link 和 Route 组件以动态地渲染页面。
- Concept 01: 简介
- Concept 02: 动态地渲染页面
- Concept 03: BrowserRouter 组件
- Concept 04: Link 组件
- Concept 05: Route 组件
- Concept 06: 完成通讯录表格
- Concept 07: 课程总结
- Concept 08: 课程结尾部分
- Lesson 01: 为何要学习 React?你将发现 React 的强大之处。你将创建简单的功能,并组合成复杂的功能,编写声明式代码,发现单向数据流并且发现 React 就是 JavaScript。
Module 02: 项目 - 图书跟踪应用
Module 01: 面向对象的 JavaScript
- Lesson 01: 深入了解对象JavaScript 中的对象封装了数据和功能。你可以创建、访问和修改对象,以便为面向对象编程打下坚实的基础。
- Concept 01: 简介
- Concept 02: 创建和修改属性
- Concept 03: 调用对象方法
- Concept 04: 注意全局变量
- Concept 05: 提取属性和值
- Concept 06: 课程小结
- Lesson 02: 运行时的函数函数是最重要的数据结构之一。学习什么是“一级函数”、了解作用域、探索闭包,并使用立即调用函数表达式来实现私有状态。
- Concept 01: 简介
- Concept 02: 一级函数
- Concept 03: 回调
- Concept 04: 作用域
- Concept 05: 闭包
- Concept 06: 立即调用函数表达式 (IIFE)
- Concept 07: 课程小结
- Lesson 03: 类和对象单独创建对象是不可持续的。学习如何使用类来轻松创建类似的对象。你还将学到对象继承如何通过 原型继承来起作用。
- Concept 01: 简介
- Concept 02: 构造函数
- Concept 03: 关键字
this
- Concept 04: 设置我们自己的
this
- Concept 05: 原型继承
- Concept 06: 原型继承:子类
- Concept 07: 课程小结
- Concept 08: 课程总结
- Lesson 01: 深入了解对象JavaScript 中的对象封装了数据和功能。你可以创建、访问和修改对象,以便为面向对象编程打下坚实的基础。
- Module 02: 网站易用性
- Lesson 01: 网站无障碍性概述了解网站和应用具有的各种不同的用户体验。了解如何实际地使用屏幕阅读器,并发现针对打造所有用户的网络体验所面临的挑战。
- Concept 01: 无障碍性简介
- Concept 02: 什么是无障碍性
- Concept 03: 了解用户多样性
- Concept 04: 用户多样性(手臂骨折)
- Concept 05: 用户多样性(失明)
- Concept 06: 用户多样性(音频)
- Concept 07: 用户多样性(婴儿)
- Concept 08: 用户多样性(脑震荡)
- Concept 09: 用户多样性 (RSI)
- Concept 10: 使用屏幕阅读器
- Concept 11: 体验屏幕阅读器
- Concept 12: 检查清单
- Concept 13: 使用 WebAIM 检查清单
- Concept 14: 开始学习课程
- Lesson 02: 焦点管理焦点 - 从键盘接收页面上相应位置的输入。了解一些用户如何通过键盘完全网站操作,以及如何优化他们的体验。
- Concept 01: 焦点简介
- Concept 02: 什么是焦点?
- Concept 03: 体验焦点
- Concept 04: DOM 顺序很关键
- Concept 05: 修正 DOM 顺序
- Concept 06: 使用 Tabindex
- Concept 07: 决定焦点所在位置
- Concept 08: 哪些元素应该具有焦点?
- Concept 09: 管理焦点
- Concept 10: 自己管理焦点
- Concept 11: 跳过链接
- Concept 12: 复杂组件中的焦点
- Concept 13: 键盘设计模式
- Concept 14: 实现键盘事件监听器
- Concept 15: 屏幕之外的内容
- Concept 16: 实现屏幕之外的内容
- Concept 17: 模式窗口和键盘陷阱
- Concept 18: 小结
- Lesson 03: 语义基础了解可视 UI 和从语义上设计的无障碍 UI 之间的区别。向 HTML 添加语义元素,以创建适合所有人使用的用户界面。
- Concept 01: 语义简介
- Concept 02: 辅助技术
- Concept 03: 情境支持
- Concept 04: 体验情境支持
- Concept 05: 语义和辅助技术
- Concept 06: 体验如何使用屏幕阅读器
- Concept 07: ‘角色、名称、值’
- Concept 08: 体验屏幕阅读器 2
- Concept 09: 无障碍树
- Concept 10: 匹配简单的 DOM 和无障碍树
- Concept 11: 原生 HTML 中的语义
- Concept 12: 练习:编写语义 HTML
- Concept 13: ‘编写语义 HTML:名称游戏’
- Concept 14: 为输入元素添加标签
- Concept 15: 替代文本
- Concept 16: 使用替代文本为图片添加标签
- Concept 17: 小结
- Lesson 04: 导航内容使用标题、链接文本和标记实现有效的语义导航。
- Concept 01: 语义导航内容 - 简介
- Concept 02: 使用屏幕阅读器浏览网页
- Concept 03: 按照标题导航
- Concept 04: 使用标题
- Concept 05: 使用标题
- Concept 06: 其他导航选项
- Concept 07: 其他导航选项示例
- Concept 08: 链接文本
- Concept 09: 链接文本
- Concept 10: 标记
- Concept 11: 标记
- Concept 12: 小结
- Lesson 05: ARIA有时候,HTML 元素可能没有语义角色或值。在这节课,你将使用 ARIA 属性为屏幕阅读器提供上下文信息。
- Concept 01: 语义简介:ARIA
- Concept 02: 为何要采用 ARIA
- Concept 03: ARIA 初始步骤
- Concept 04: ARIA 有什么作用?
- Concept 05: 角色扮演
- Concept 06: 使用 ARIA 创建自定义单选按钮组
- Concept 07: 添加标签的更多方式
- Concept 08: 命名该元素!
- Concept 09: 短暂休息
- Concept 10: 默认语义和标记
- Concept 11: ARIA 关系
- Concept 12: 组合框
- Concept 13: 从外观上隐藏起来
- Concept 14: 命名该元素(第 2 部分)
- Concept 15: 部分内容小结
- Concept 16: ARIA Live 简介
- Concept 17: Atomic、Relevant 与 Busy
- Concept 18: 小结
- Concept 19: 模式对话框练习
- Concept 20: 总结
- Lesson 06: 样式在无障碍网络设计中采用 CSS 样式并使用无障碍颜色技巧改善无障碍性。
- Concept 01: 样式简介
- Concept 02: 使用聚焦样式
- Concept 03: 编写自定义聚焦样式
- Concept 04: 输入模式
- Concept 05: 通过 Aria 设置样式
- Concept 06: 通过 Aria 设置样式
- Concept 07: 多设备自适应设计
- Concept 08: 多设备自适应设计(第 2 部分)
- Concept 09: 移动屏幕阅读器
- Concept 10: iOS 移动屏幕阅读器
- Concept 11: Android 移动屏幕阅读器
- Concept 12: 使用移动屏幕阅读器
- Concept 13: 颜色和对比度
- Concept 14: 满足对比度要求
- Concept 15: 对比度检查功能
- Concept 16: 请勿仅通过颜色传递信息
- Concept 17: 高对比度模式
- Concept 18: 总结
- Concept 19: 课程总结
- Lesson 01: 网站无障碍性概述了解网站和应用具有的各种不同的用户体验。了解如何实际地使用屏幕阅读器,并发现针对打造所有用户的网络体验所面临的挑战。
- Module 03: 网站工具化和自动化
- Lesson 01: 简介了解自动化和工具如何使你作为开发人员提高工作效率,并让你更快更高效地工作。
- Concept 01: 课程简介
- Concept 02: 成本效益
- Concept 03: 常识
- Concept 04: 正式开始!
- Lesson 02: 高效编辑器使用键盘快捷键和代码编辑器扩展来加速你的开发过程,并有助于避免重复的打字任务。
- Concept 01: 简介
- Concept 02: 从记事本到 IDE
- Concept 03: 配置你的编辑器
- Concept 04: 了解编辑器自带功能
- Concept 05: 你最喜欢的编辑器
- Concept 06: 快捷键
- Concept 07: 拓展你的编辑器
- Concept 08: 使用“命令面板”
- Concept 09: 小结
- Lesson 03: 强大的构建工具利用 Gulp 和 Grunt 等构建工具的强大功能,将你的开发代码转换为简化的,自动化过程的即时生产代码。
- Concept 01: 简介
- Concept 02: 构建工具概述
- Concept 03: 优秀构建工具的核心共同点
- Concept 04: 初次接触 Gulp
- Concept 05: 安装 Gulp
- Concept 06: 你好 Gulp!
- Concept 07: Grunt 任务与 Gulp 流
- Concept 08: 让编写 CSS 更方便
- Concept 09: 使用 Gulp
- Concept 10: 使用 Gulp 2
- Concept 11: 轮到你练习了
- Concept 12: 继续使用 Gulp
- Concept 13: 观察 SCSS 文件的变化
- Concept 14: 小结
- Lesson 04: 体验实时编辑
- Concept 01: 简介
- Concept 02: 实时编辑的优点
- Concept 03: 实时编辑的不同方式
- Concept 04: 使用 Browser-Sync
- Concept 05: 小结
- Lesson 05: 如何免受灾难学习如何在编码时使用工具作为安全防火墙。使用它来自动检查您编写的代码并自动运行测试。
- Concept 01: 简介
- Concept 02: 为什么用工具来免受灾难?
- Concept 03: Linting
- Concept 04: Linting 如何帮助你编程
- Concept 05: 设置 ESLint
- Concept 06: 在 Gulp 里设置 ESLint
- Concept 07: 在 Gulp 里的单元测试
- Concept 08: 在 Gulp 里的单元测试 2
- Concept 09: 接下来是什么?
- Concept 10: 持续集成
- Concept 11: 小结
- Lesson 06: 绝佳优化了解如何使用工具优化你的应用以供生产使用。你将学习如何连接,缩小和优化代码。
- Concept 01: 简介
- Concept 02: 开发和生产模式
- Concept 03: 开发和生产模式 2
- Concept 04: 自动重新加载 index.html
- Concept 05: CSS 连接
- Concept 06: JS 连接
- Concept 07: JS 连接 2
- Concept 08: 压缩
- Concept 09: 设置一个开发生产任务
- Concept 10: 编写面向未来的 JavaScript
- Concept 11: 为什么转换?
- Concept 12: 源映射
- Concept 13: 图片优化
- Concept 14: 我们爱优化!
- Concept 15: 图片压缩
- Concept 16: 应该如何压缩图片
- Concept 17: 小结
- Lesson 07: 总结在本课中,你将了解有关整个项目脚手架的工具。
- Concept 01: 课程介绍
- Concept 02: 脚手架
- Concept 03: 课程总结
- Lesson 01: 简介了解自动化和工具如何使你作为开发人员提高工作效率,并让你更快更高效地工作。
- Module 04: 前端框架
- Lesson 01: 单页面应用的功能了解单页面应用的功能。
- Concept 01: 欢迎
- Concept 02: 如何成功学完这门课程
- Concept 03: 探索前端应用
- Concept 04: 基于服务器并由 AJAX 提供支持的网站
- Concept 05: 服务器和客户端应用
- Concept 06: 单页面应用
- Concept 07: 框架
- Concept 08: 核心框架组件
- Concept 09: 代码和文件结构
- Concept 10: 模板、URL 和事件
- Concept 11: Storage - 缺失的组件?
- Concept 12: 专业框架的功能
- Concept 13: 采访 Dhruv
- Concept 14: 总结
- Lesson 02: 查看框架的源代码查看 Backbone 框架的源代码,了解它的多个最热门功能的工作原理。
- Concept 01: 框架的基本功能
- Concept 02: 什么是模板?
- Concept 03: Backbone 项目设置
- Concept 04: 底层模板
- Concept 05: 构造函数
- Concept 06: 构造函数练习
- Concept 07: 讲解
template
函数 - Concept 08: 用数据填充模板
- Concept 09: 采访 Scott
- Concept 10: 模板
变量
和 JS 的with
- Concept 11: 模板 Bug 练习
- Concept 12: 构建你自己的模板函数练习
- Concept 13: addEventListener
- Concept 14: 设置 Backbone 事件
- Concept 15: 讲解 Backbone 的
Events.on
- Concept 16: 添加事件练习
- Concept 17: 讲解 Backbone 的
Events.trigger
- Concept 18: 事件练习
- Concept 19: 构建你自己的事件系统练习
- Concept 20: 路由器和 Backbone.history 对象
- Concept 21: 路由练习
- Concept 22: hashchange 与 pushState
- Concept 23: 逐步演示 Backbone.history.start()
- Concept 24: Backbone 的 Fragment Count 练习
- Concept 25: 课程重点摘要练习
- Concept 26: 总结
- Lesson 03: Angular学习如何使用 Angular 框架构建单页面应用。
- Concept 01: 欢迎学习 Angular 框架
- Concept 02: Angular 是什么?
- Concept 03: 练习存储库和反馈 Chrome 扩展程序
- Concept 04: 准备运行 Angular 练习
- Concept 05: Angular 生态系统
- Concept 06: 新功能 1 练习
- Concept 07: 新功能 2 练习
- Concept 08: 一个简单应用
- Concept 09: 安装 Yeoman
- Concept 10: 结构化应用
- Concept 11: Angular 模块
- Concept 12: 创建模块练习
- Concept 13: 使用 Bootstrap 创建应用
- Concept 14: 使用 Bootstrap 创建应用练习
- Concept 15: 模板和表达式
- Concept 16: 表达式练习
- Concept 17: 采访 Scott
- Concept 18: Angular Controller
- Concept 19: Angular Controller 练习
- Concept 20: Scope
- Concept 21: Controller 中的 Scope/$scope
- Concept 22: Scope 练习
- Concept 23: 休息一下
- Concept 24: 一直等待的指令
- Concept 25: 指令练习
- Concept 26: Dependency Injection Skit
- Concept 27: 服务
- Concept 28: 服务练习
- Concept 29: 订单管理器功能
- Concept 30: 注入 Angular 的几个方式
- Concept 31: 通过 UI-Router 进行路由
- Concept 32: 管理应用状态
- Concept 33: 嵌套视图
- Concept 34: 路由练习
- Concept 35: 总结
- Lesson 04: Ember学习如何使用 Ember 框架构建单页面应用。
- Concept 01: 欢迎学习 Ember 框架
- Concept 02: 需要掌握 ES6 知识
- Concept 03: 安装 Ember-CLI
- Concept 04: 使用 Ember-CLI 生成新的应用
- Concept 05: Ember-CLI 快捷键和别名练习
- Concept 06: Ember 应用的文件结构
- Concept 07: 路由、路由器和模板 - 天啊!
- Concept 08: 生成路由和模板
- Concept 09: 练习存储库和反馈 Chrome 扩展程序
- Concept 10: 路由和模板练习
- Concept 11: 查看菜单项
- Concept 12: 嵌套路由
- Concept 13: 嵌套路由练习
- Concept 14: 采访 Allen
- Concept 15: Handlebars
- Concept 16: Handlebars 练习
- Concept 17: 加载动态数据
- Concept 18: 更新项目模板
- Concept 19: 动态数据练习(第 1 部分)
- Concept 20: 动态数据练习(第 2 部分)
- Concept 21: Components Ember 样式自定义 HTML
- Concept 22: 组件练习
- Concept 23: 订单跟踪功能
- Concept 24: 消耗服务
- Concept 25: 使用服务练习
- Concept 26: 对用户操作做出响应
- Concept 27: 操作练习
- Concept 28: 总结
- Lesson 01: 单页面应用的功能了解单页面应用的功能。
- Module 05: 离线 Web 应用
- Lesson 01: 离线优先的优点探索标准的 web 应用程序和离线优先的应用程序之间的差异,并了解新的 API。
- Concept 01: 简介
- Concept 02: 面临的问题
- Concept 03: 离线优先的优点
- Concept 04: 是什么在减慢连接速度
- Concept 05: 在线优先模式
- Concept 06: 离线优先的方式
- Concept 07: 介绍示例 App
- Concept 08: 安装示例 App
- Concept 09: 运行示例 App
- Concept 10: 探索示例 APP 的代码
- Concept 11: 修改连接状况
- Concept 12: 测试 Lie-Fi 模式
- Concept 13: Service Worker 简介
- Lesson 02: Service Worker 入门编写你的第一个 Service Worker,并在使用 Service Worker 时深入了解 request 的生命周期。
- Concept 01: Service Worker 概览
- Concept 02: 范围练习
- Concept 03: 在项目中添加一个 Service Worker
- Concept 04: 注册一个 Service Worker
- Concept 05: Service Worker 的生命周期
- Concept 06: 安装 Service Worker 开发工具
- Concept 07: Service Worker 开发工具
- Concept 08: Service Worker 开发工具 2
- Concept 09: Service Worker 开发工具(续篇)
- Concept 10: Hijacking 请求
- Concept 11: 练习: Hijacking 请求 1
- Concept 12: Hijacking 请求 2
- Concept 13: 练习:Hijacking 请求 2
- Concept 14: Hijacking 请求 3
- Concept 15: 练习: Hijacking 请求 3
- Concept 16: Caching 与 Serving Assets
- Concept 17: 练习:安装与缓存
- Concept 18: 练习: 缓存响应
- Concept 19: 更新静态缓存
- Concept 20: 练习:更新你的 CSS
- Concept 21: 更新你的 CSS 2
- Concept 22: 在更新过程中加入 UX
- Concept 23: 练习:添加 UX
- Concept 24: 触发更新
- Concept 25: 练习:触发更新
- Concept 26: 缓存页面 Skeleton
- Lesson 01: 离线优先的优点探索标准的 web 应用程序和离线优先的应用程序之间的差异,并了解新的 API。
- Module 06: 客户端服务器通信
- Lesson 01: HTTP 的请求和响应周期你会学到请求的来龙去脉,具体了解如何请求页面,收到标题,HTTP 代码以及如何传输数据。
- Concept 01: 简介
- Concept 02: HTTP 请求
- Concept 03: HTTP 请求 2
- Concept 04: 获取单一请求
- Concept 05: 获取单一请求 2
- Concept 06: 获得多个请求
- Concept 07: 练习:配置
- Concept 08: 练习: 开发者工具
- Concept 09: 通过 POST 请求发送数据
- Concept 10: 从 XHR 到 Fetch
- Concept 11: 获取
- Concept 12: 小结
- Lesson 02: HTTP/1你将深入研究 HTTP 动词,还将深入挖掘 HTTP 中使用的重要标头,并了解如何使用 REST 高效地构建应用程序。
- Concept 01: HTTP 简介
- Concept 02: Netcat 命令
- Concept 03: HTTP Verbs
- Concept 04: HTTP Verbs 2
- Concept 05: HTTP Verbs Quiz
- Concept 06: 常见的响应标头
- Concept 07: 练习:响应标头
- Concept 08: REST
- Concept 09: 练习:REST
- Concept 10: 性能基础
- Concept 11: 性能详情
- Concept 12: 性能详情 2
- Concept 13: 小结
- Lesson 03: HTTPS你会发现安全对网络的重要性。 你将了解 TLS,发现加载混合内容的问题,快速入门了解加密并验证证书颁发机构。
- Concept 01: HTTPS 简介
- Concept 02: 加密 HTTP
- Concept 03: 练习:MITM 1
- Concept 04: 练习:MITM 2
- Concept 05: TLS 与证书颁发机构
- Concept 06: TLS:密码学入门
- Concept 07: TLS: 哈希
- Concept 08: 练习:哈希
- Concept 09: 证书颁发机构签名
- Concept 10: TLS 连接成功
- Concept 11: 练习:SSL 错误
- Concept 12: 混合内容
- Concept 13: 练习:混合内容
- Concept 14: 小结
- Lesson 04: HTTP/2HTTP/1是伟大的,但未来是HTTP/2 的时代! 你将了解HTTP/2带来的变化。 你将学习HTTP/1所颂扬的当前“最佳实践”,但现在已经是HTTP/2中的反模式。
- Concept 01: HTTP/2 简介
- Concept 02: HTTP/1 问题: 队头阻塞
- Concept 03: HTTP/1 问题:未压缩标头
- Concept 04: HTTP/1 问题:安全性
- Concept 05: HTTP/2 神奇之处
- Concept 06: 练习:HTTP/1 与 HTTP/2
- Concept 07: 使用 HTTP/2
- Concept 08: 练习: HTTP/2 开发技术
- Concept 09: 小结
- Lesson 05: 安全性安全对每个Web应用程序都至关重要! 你将了解常见的安全缺陷以及如何避免这些缺陷。 你也有机会成为白帽子黑客,“入侵”(样本)银行的网站。
- Concept 01: 安全性简介
- Concept 02: 来源
- Concept 03: 来源 2
- Concept 04: 应对单一来源策略
- Concept 05: CORS
- Concept 06: 预检请求与 CORS 练习 1
- Concept 07: 预检请求与 CORS 练习 2
- Concept 08: 预检请求与 CORS 练习 3
- Concept 09: 安全漏洞 - CSRF
- Concept 10: 练习:CSRF
- Concept 11: 安全漏洞 - XSS
- Concept 12: 练习:XSS
- Concept 13: 安全性:小结
- Concept 14: 课程总结
- Lesson 01: HTTP 的请求和响应周期你会学到请求的来龙去脉,具体了解如何请求页面,收到标题,HTTP 代码以及如何传输数据。
【点击购买】