特别优惠
跟上新发行和促销的步伐。注册,听取我们的意见。
注册您的产品获得奖励材料或获得优惠券。
7小时以上的视频教学
在学会足够危险的JavaScript:用JavaScript编写程序、发布包和开发交互式网站著名的讲师Michael Hartl教授的概念,技能和方法,你需要用JavaScript专业地生产互动网站和通用编程。
概述
JavaScript是万维网的编程语言,它也正在发展成为一种功能强大的通用编程语言。您会喜欢这个系列用JavaScript教授编程的方式,在这里您不需要学习关于它的“一切”——只需要学习如何有效地使用它来解决实际问题。畅销书作者Michael Hartl通过让您尽快开始编写实用和现代的JavaScript程序来教授JavaScript,重点关注软件开发人员每天使用的真实工具。
即使您是编程新手,Hartl也可以帮助您快速构建技术复杂性,因为您可以扎实地理解面向对象和函数式编程的JavaScript,包括使用测试驱动开发和Node.js制作JavaScript模块。集中练习可以帮助你内化重要的事情,而不会把时间浪费在专业人士不关心的细节上。很快,就会像你一样出生知道了这些,你就会突然变得严肃起来危险的.
关于讲师
迈克尔·哈特尔创造者是Ruby on Rails教程是web开发的主要介绍之一,也是Learn Enough的联合创始人和主要作者。此前,他曾在加州理工学院(Caltech)担任物理讲师,并在那里获得了卓越教学终身成就奖。他毕业于哈佛大学,拥有加州理工学院物理学博士学位,是Y Combinator企业家项目的校友。
技术水平
学习如何
谁应该修这门课
课程要求
课程描述
第一课:你好,世界!
在第1课中,您将从“Hello, World!”这个历史悠久的主题的四个变体开始学习JavaScript。“Hello, World!”的主要目的是确认您的系统是否被正确配置为执行一个简单的程序,该程序将字符串“Hello, World!”或其他类似的变体打印到屏幕上。通过设计,该程序很简单,使您能够首先将注意力集中在使程序运行的挑战上。为了给你最好的JavaScript编程的广泛介绍,学习足够多的JavaScript是危险的主要采用四种方法:一、前端JavaScript程序在用户的浏览器中运行;二、一个带有Node.js读取、求值、打印、循环的交互式提示符,也称为REPL;三、独立的JavaScript文件,包括Node Package Manager;第四,shell脚本,在学习足够多的开发工具是危险的.由于JavaScript最原始和最常见的应用是编写在web上执行的程序,我们将从编写和部署一个程序开始,在web浏览器中显示“Hello, World!”然后,我们将使用JavaScript执行系统node .js编写一系列三个程序,首先在节点REPL中,然后在名为hello.js的JavaScript库文件中,最后在可执行的shell脚本中你好.
第二课:琴弦
第2课介绍了字符串,这可能是Web上最重要的数据结构,因为Web页面最终由发送到浏览器的字符串和字符组成。许多其他类型的程序也需要字符串操作。因此,字符串是开始Ruby编程之旅的好地方。本课程从什么是字符串以及如何创建字符串开始,包括单引号和双引号字符串。然后学习如何将一个字符串连接到另一个字符串。接下来,您将学习如何从终端窗口打印到屏幕。作为其中的一部分,您将看到JavaScript布尔变量和控制流的第一个示例。最后,您将学习如何使用for循环遍历字符串,使您能够一次访问一个字符。
第3课:数组
在第3课中,您将学习数组数据类型,它是按照特定顺序存放任意元素的通用JavaScript容器。首先通过字符串分割方法显式地连接字符串和数组,然后在本课的其余部分学习各种数组方法。学习了拆分字符串之后,您将看到如何访问结果数组中的元素。您会发现相同的语法也适用于字符串,从而进一步加深了这两种数据类型之间的联系。接下来,您将学习各种额外的数组方法,从使用数组切片同时选择单个元素和多个元素开始,包括使用负下标选择数组中最后一个元素的聪明技术。然后学习如何对数组排序,发现途中JavaScript的默认排序算法对数值数组用处不大,这个问题在第5课中已经解决了。您还将学习如何反转数组,这一能力将在本教程后面学习检测回文时得到很好的应用。接下来,您将看到如何使用添加和删除数组元素推和流行然后了解如何使用数组连接撤销字符串分割。最后,您将学习如何使用相同类型的方法遍历数组for循环这是为第5课和第6课更高级的技术做的有价值的准备。
第4课:其他原生对象
在第4课中,您将继续学习其他一些重要的JavaScript对象,这使您有机会了解数学、日期、正则表达式和泛型对象。像大多数编程语言一样,JavaScript支持大量开箱即用的数学运算,比如加法、减法、乘法和除法。它还包括一个数学库。它还支持更高级的运算,如对数和三角函数。您还将学习如何在JavaScript中处理日期,例如获取年、日或确切的时间。这是您第一次有机会使用新函数,一个所谓的构造函数。这是创建新对象的标准JavaScript方法。本课包括对正则表达式这个强大主题的介绍,正则表达式在学习足够多的开发工具是危险的在文本编辑器和grep命令的上下文中。通常被称为regex正则表达式是一种强大的迷你语言,用于在文本中匹配模式。您将学习如何使用正则表达式快速搜索字符串,例如一行中的5位数字,从而匹配标准的美国邮政编码。本课程以介绍JavaScript中的纯对象结束。我们将使用这样的对象来创建键值对的集合,有时称为关联数组,它类似于常规数组,但使用字符串而不是整数作为索引。您应用这个重要的对象类型来编写第一个实质性的JavaScript程序,一个shell脚本,用于计算文本中唯一的单词。
第五课:函数
在第5课中,您将学习如何定义JavaScript函数,从而实现诸如forEach函数式编程,这是第6课的主题。首先讨论定义JavaScript函数的几种等效方法,包括最近使用的粗箭头表示法,如果您以前没有见过它,可能会感到非常困惑。作为其中的一部分,您将学习如何对JavaScript数组进行数字排序,从而修复第3课中遇到的一个缺陷。您开始学习read-eval-print循环中的函数,也就是REPL。然后学习如何将函数定义放入文件中以供以后使用。本课还介绍了如何在一行中使用多个函数,这种技术称为方法链接.您可以使用方法链接对回文函数进行第一次定义,以查看字符串前后是否相同。本课最后讨论遍历数组的forEach方法,它通常提供了一种比第2课中介绍的for循环更方便的处理数组元素的方法。
第六课:函数式编程
在学习了如何定义函数并在不同的上下文中应用它们之后,在第6课中,您将通过学习函数式编程的基础知识将编程提升到一个新的水平。这是一个具有挑战性的课程,你可能需要看几次才能吸收所有内容,但回报确实很丰富。这节课的重点是在函数式编程中常用的三个函数,称为地图,过滤器,减少.第一个示例是map函数,它允许您在元素数组上映射函数。它通常是循环的强大替代方案。到目前为止,您一直在使用一种称为命令式编程,但您将看到如何使用map将五行循环压缩为一行。这种压缩在函数式编程中很常见。第二个函数是filter,它使您能够根据布尔标准过滤数据。这使您可以遍历数组并过滤掉不符合条件的任何内容。例如,您可以取一个整数数组,并只筛选可被2整除的数字,这为我们提供了一种仅选择数组中偶数的快速方法。我们的第三个函数是强大的reduce,这是一种强大的技术,它可以让我们真正理解许多示例,但使我们能够编写非常干净和简洁的代码。因为即使对于经验丰富的开发人员来说,理解reduce以及所有的函数式技术也是具有挑战性的,所以当与第8课中介绍的测试驱动开发相结合时,它尤其强大,但首先您需要学习如何定义自己的对象。
第7课:对象和原型
在第7课中,您将学习如何创建更通用版本的JavaScript对象,即同时具有属性(即数据)和方法(即函数)的对象。在JavaScript中定义对象的方法多种多样,令人眼花缭乱,但本课主要关注最经典的方法之一,即使用函数,这在第5课中首次介绍过。结果将是一个对象构造函数,该函数可用于创建或实例化一个名为an的新对象实例使用新你在第4课看到的方法。这将为您提供了解javascript对象系统所需的背景知识,该系统基于模板对象和原型链。如果这看起来不是很清楚,别担心,它不是。没有人通过听到这样的定义来理解对象系统。相反,我们将研究一系列日益复杂的对象,使您能够通过从具体示例中归纳来理解JavaScript对象的本质。特别地,您创建了一个Phrase对象,该对象知道该短语是否为回文。然后添加一个TranslatedPhrase对象,该对象覆盖主palindrome方法,并替换已翻译的短语。然后使用强大的、甚至是危险的修改原生JavaScript对象的做法。这使您能够修改字符串原型本身,使每个字符串能够判断它是否是回文。
第8课:测试和测试驱动开发
尽管在介绍性编程教程中很少涉及,自动化测试是现代软件开发中最重要的主题之一。因此,第8课向您介绍了使用JavaScript进行测试,包括对测试驱动开发(TDD)的初步了解。第6课简要介绍了测试驱动开发,它承诺您将使用测试技术来添加查找回文的重要功能,即能够检测复杂的回文,例如“一个人、一个计划、一条运河——巴拿马!”或“女士,我是亚当!”这一课实现了这一承诺。首先使用流行的Mocha测试框架设置测试系统。测试当前回文代码并将其扩展到更复杂的短语的策略如下:第一,设置自动测试系统;第二,为现有的回文功能编写自动化测试;第三,为增强的回文检测器编写失败测试,也称为红色的(TDD周期的第一步称为red-green-refactor);第四,编写可能丑陋的代码以使测试通过,也称为绿色,这是循环的第二步;第五,重构代码,即在不改变其功能的情况下改变其形式。即使在重构之后,测试套件也应该保持绿色,从而完成红-绿-重构周期。事实证明,学习如何编写JavaScript测试也将使您有机会学习如何创建和发布自包含的软件包NPM模块这是现代JavaScript编程的另一项宝贵技能。
第9课:事件和DOM操作
在第9课中,您将返回到JavaScript的原生环境,并让新创建的Node模块在浏览器中工作,包括我们操作文档对象模型(DOM)的第一个示例。具体来说,您将创建一个简单的单页JavaScript应用程序,该应用程序接收来自用户的字符串,并指示该字符串是否是回文。该方法涉及逐步提高复杂程度,从简单的“hello world”风格的概念验证开始。然后添加提示/警报设计,这将激励引入事件侦听器。这涉及到添加一段代码,等待特定事件的发生,然后做出适当的响应。在这种情况下,侦听器将等待按钮被单击,然后提示用户输入一个字符串,然后该字符串将测试它是否为回文。接下来,用插入到页面本身的动态HTML替换警报。最后,添加一个HTML表单,这是一种比JavaScript提示符更方便的输入数据的方法。作为其中的一部分,您将更新事件侦听器,以便在用户提交表单时通过更新页面本身来进行响应,从而创建一个功能齐全的回文检测器。
第10课:使用Node.js的Shell脚本
在第10课中,您将回到命令行世界,并使用Node.js编写三个越来越复杂的shell脚本。目前,JavaScript在浏览器中的使用还没有JavaScript那么普遍,但随着JavaScript(特别是通过Node和npm)继续扩展其最初的web编程利基,它可以预期会增长。这些程序还可以作为用传统上被认为是脚本语言(如Perl、Python和Ruby)编写的类似程序的有用基础。也许令人惊讶的是,您会发现第9课中开发的文档对象模型操作技能在shell脚本中仍然很有用。实际上,您在第11课中使用的更高级的操作所需的方向上大大扩展了您的功能。本课的第一个程序展示了如何使用JavaScript从文件系统读取和处理文件的内容。接下来的程序将展示如何完成读取URL内容的类似任务。最后,编写一个现实生活中的实用程序。
第11课:完整的示例应用程序:图像库
在第11课中,您将把第9课和第10课的技术应用到一个真正的工业级网站。特别地,本课扩展了示例应用程序学习足够多的HTML, CSS和布局是危险的添加一个功能性图片库,该图片库可以根据用户单击动态更改图像、CSS类和页面文本。结果将是一个部署到实时Web的专业级网站。
关于培生视频培训188号金宝搏网页
培生出版专家主导的视频教程,涵盖广泛的技术主题,旨在教你成功所需的技能。这些专业和个人技术视频具有世界领先的作者讲师,由您信赖的技术品牌出版:Addison-Wesley, Cisco Press, Pearson IT Certification, Sams和Que。主题包括:IT认证、网络安全、思科技术、编程、Web开发、移动开发等。了解更多关于培生视频培训的信息188号金宝搏网页金宝搏188亚洲体育真人始乐informit.com/video.
视频课程可供下载,以流媒体格式离线观看。在每节课中寻找绿色箭头。
介绍
第一课:你好,世界!
主题
1.1 JavaScript简介
1.2 Web浏览器中的JS
1.3在REPL中的JS
1.4文件中的JS
1.5 Shell脚本中的JS
第二课:琴弦
主题
2.1字符串基础
2.2串联和插值
2.3印刷
2.4属性、布尔值和控制流
2.5方法
2.6字符串迭代
第3课:数组
主题
3.1分
3.2阵列接入
3.3阵列切片
3.4更多数组方法
3.5数组迭代
第4课:其他原生对象
主题
4.1数学与数字
4.2日期
4.3正则表达式
4.4普通对象
4.5应用:独特的单词
第五课:函数
主题
5.1功能定义
5.2文件中的功能
5.3方法链接
5.4每个迭代
第六课:函数式编程
主题
6.1地图
6.2过滤
6.3减少
第7课:对象和原型
主题
7.1定义对象
7.2原型
7.3修改本机对象
第8课:测试和测试驱动开发
主题
8.1测试设置
8.2初始测试覆盖率
8.3红
8.4绿色
8.5重构
第9课:事件和DOM操作
主题
9.1正常工作的回文页面
9.2事件监听器
9.3动态HTML
9.4表格处理
第10课:使用Node.js的Shell脚本
主题
10.1读取文件
10.2从url读取
10.3命令行DOM操作
第11课:完整的示例应用程序:图像库
主题
11.1准备图库
11.2更改图库图像
11.3设置镜像为当前镜像
11.4修改镜像信息
11.5结论
总结