面向对象的 Javascript 编程(中/英)

编写可重复使用和易于维护的代码

中级

大约 5 个星期

6小时每周 (自主学习)

由以下企业参与制作:
加入成千上万的全球学员

开始免费课程

加入课程
免费
可享受
课程视频
实战练习与参考项目指导
中级

大约 5 个星期

6小时每周 (自主学习)

由以下企业参与制作:
加入成千上万的全球学员

课程概述

你是否遇到过以下情形:认认真真地编写 JavaScript 代码,但是却发现文件乱的一锅粥,在整个应用中到处复制粘贴代码?肯定有更好的方法吧?

没错,是有更好的方法。借助面向对象的编程技能,你将能够使用可重复利用的代码块(称为库)构建网站,就像用砖头盖房子一样。这门课程旨在指导网络开发者如何利用 JavaScript 中的各种面向对象编程功能,更重要的是,如何编写可重复利用和可维护的库,让你的工作更便利。此课程提供中文版本。

喜欢这门课程?你可以继续学习“前端开发工程师”纳米学位!

为什么学习这门课程?

作为前端工程师,JavaScript 将是你的工具箱里最重要的语言之一。熟练掌握该语言将使你能够编写有效、高性能的网络应用。在这门课程里,你将学习用 JavaScript 编写面向对象代码的多种方式。

你将构建各种 JavaScript 对象,并了解不同的继承模型对代码的执行和内存模型有何影响。你将使用这些功能编写有效利用内存的代码,并使自己的代码更简洁、更具模块性。

先修要求

这门课程面向的是初学者和中级网络开发者,需要了解 JavaScript 语法。具体来说,你应该知道如何编写控制结构,如何编写简单的函数,并知道 JavaScript 中的不同变量类型。同时能够阅读具有这些功能的现有 JavaScript 代码,并预测代码运行结果。如果你需要复习这些知识,请参阅我们的 JavaScript 基础课程!

查看使用优达学城的技术要求

你将学习什么内容?

项目

经典街机游戏克隆

我们将向你提供一些视觉资源和游戏主循环引擎;你必须使用这些工具向游戏添加一些实体,包括玩家人物与敌人,以重现经典小游戏《青蛙过河》(Frogger)。

学习计划

第 1课:作用域和闭合

首先,我们将讨论 JavaScript 的变量作用域,包括词法作用域(编写代码时变量的可用性)以及动态作用域(代码实际运行时变量的可用性)。然后我们将讨论闭合。闭合是只有少数语言(包括 JavaScript)才具有的功能,经常被错误地理解但是非常有用。

第 2 课:关键字 “this”

你将深入学习 JavaScript 面向对象的功能,首先学习的是参数 “this”。你将学习在各种不同的代码结构中如何判断 “this” 的值,为何将 “this” 看做参数比当成关键字更容易理解。

第 3 课:原型代理

你可能已经用到了 JavaScript 的某个继承模型:原型代理!在这节课里,你将更深入地学习这一独特 JavaScript 功能,JavaScript 如何在内部使用该功能,以及如何利用它来减少应用内存消耗。

第 4 课:重复利用代码

你可以采用多种方式编写简洁、可维护和重复利用的 JavaScript 代码。在这节课里,你将练习多种方法。首先,我们将使用基本函数编写库,了解装饰器模式。然后,我们将重构该库,使其变成有效的的原型伪类继承模型。最后,我们将学习类的继承,编写从我们之前定义过的对象中直接继承而来的对象。

讲师与合作伙伴

Michael Wales

Michael Wales

Michael 是一名自学成才的全栈 Web 开发者和开源倡导者。在加入优达学城之前,他已有 10 年的工作经历,为世界上一些要求最严苛的情报组织开发机密应用。由于之前的工作性质,他目前仍拥有有效的绝密安全许可,除非你也有同等许可,否则关于他的信息我们只能告诉你这么多。他在业余时间喜欢打彩弹、玩视频游戏,以及花时间陪 3 个可爱的孩子玩耍。

Marcus Phillips

Marcus Phillips

Marcus Phillips 是 Hack Reactor 12 周沉浸式编程学校的院长和首席技术官。该学校既提供现场学习课程,又提供在线课程。他是一位全能人才,但是主要侧重于 JavaScript 技术和改善他的“快速提升”教学方法。最近,他从技术方面编辑了最新版 Eloquent JS,并且开展了 JSConf 和 HTML5 DevConf 培训活动。在联合创办 Hack Reactor 之前,Marcus 开展过多项技术培训项目,并在 Twitter 公司负责开发 JavaScript 框架内部组件。

官方微信公众号二维码

优达学城(Udacity)微信