如何组织JavaScript功能 中文字幕

课程信息
英文名Organizing JavaScript Functionality
课程来源Lynda.com
讲师Kyle Simpson
课程ID604267
课程时长5.1小时
下载所需积分50
解压密码课程压缩文件如果需要解压密码,则密码一律为 www.zwsub.com
所属类别Javascript

没有多少学习JavaScript的理论会取代实际执行它

甚至在你采用一个框架之前,学习如何组织JavaScript的不同部分 - 模块化,解耦等等,将会对你的代码的质量产生积极的影响

一旦掌握了这些技术,您可以将注意力转向构建可在客户端浏览器和服务器节点之间共享的代码

本课程涵盖如何安排和系统化JavaScript代码

学习如何组织代码,使用模块,管理服务器端JavaScript以及添加共享模块

注意:本课程由Frontend Masters于03/29/2016创建

我们很高兴在我们的图书馆中托管这些内容

主题包括:

回调

活动

AJAX

传送带,窗格和模块

重构

app.js

中端架构

安全词组生成器

server.js

路由功能

调用API

在页面上呈现

共享数据验证

调试

(techno东方音乐) - [凯尔]基本上, 我们将要切换到第二章模式。

所以, 如果你跟着, 你可以切换到第二章。

我将跳过第二章的一些初步部分。

基本上, 第二章的前半部分是对第一章中我们所说的额外细节的分层。

所以, 比如说这个比较价值观和谈论强制。

我比第一章更详细地谈论这件事情。

还有更多的价值, 还有比系列书中更多的细节。

所以, 这些只是不同的层次, 所以, 没有太多的杂草, 我只会说, 如果你想花一些时间通过第二章, 这肯定会覆盖更多的细节, 关于复杂的细微差别JavaScript语言。

但是我们想要关注的是更多的是在本章的中下半部分, 它开始将我们对这些功能的一些了解进一步推进。

所以, 我特别要提请你注意, 例如这个例子。

让我拉出来, 将其复制到代码编辑器。

我要缩小, 所以我们可以看到所有这一切。

好的。

所以, 这里你看到的是我有一个外部函数叫做foo, 但是我也有一个叫做bar的内部函数。

这是一件我们还没有看到的东西, 但事实证明, 这些功能可以嵌套在其他功能之中, 您可以继续深入到需要的位置。

这可能看起来像我不太确定为什么这将是有用的。

复杂的JavaScript应用程序中有很多不同的地方出现这种情况。

所以, 这里我们要注意的是这个函数baz被声明, 然后我在这里调用baz, 但是如果我试图在第16行调用baz, 我将无法使用, 因为这个标识符baz只存在于酒吧的范围内。记住, 我们不能下降, 我们只能向上扩展。

所以, 在这里的foo函数里面, 我不能访问这里和这些行中只存在的baz。

但相反, 我确实有访问权。

如果我访问变量a, 即使这是可用的两个级别, 我仍然可以访问它。

所以我可以打印一, 二, 三, 因为我在这里第十行。

所以, 这个嵌套范围的想法对于我们如何构建复杂的JavaScript程序其实真的很重要, 特别是甚至不是三个层次深入, 特别是这一点。

我们在另一个函数内部有一个函数。

我早先提到这是关闭这个主题的门户。

所以我们在第二章中处理的另一件事就是说激励。

这个关闭的主题是什么, 为什么它是有用的?

现在, 这可能看起来有点复杂, 我不会详细介绍封闭工作原理。

我只是要说明封闭是否可以观察到它。

所以, 我们想谈谈关闭, 让我向下滚动到关闭的讨论。

我们要关闭的是这个例子, 我将使用这个例子, 我将为你构建一个这个例子。

所以。

我有一个函数, 这里称为makeAdder, 它接受一个参数...

让我稍微放大

这是makeAdder, 它需要一个参数。

可能像我们传入的一个数字, 你会注意到里面我声明另一个函数add。

在其中我引用了参数y, 当然我可以访问参数y, 因为它是我使用的变量, 但是由于我的范围, 我也可以访问x。

因为我的嵌套范围。

所以我参考这个add函数中的这两个变量。

然后我做一些比较特别的事情, 如果你以前没有看到这种编程技术, 那就是当我从这个makeAdder返回一个值时, 我不返回一个数字或一个字符串或一个布尔值。

我实际上返回的功能本身。

记住我之前说过的功能是值, 我很快就展现出你可以通过一个函数来排序。

在这里我正在做相反的事情我正在退回一个功能。

现在, 如果这是你第一次看到它, 这看起来不会很有意义。

关闭确实需要一段时间才能习惯, 但是我认为, 它是任何编程语言中最强大的编程技术之一, 它本质上是您可以了解JavaScript的最重要的事情之一。

所以, 我们认为当我们打电话给makeAdder时, 我们将会得到一个函数。

我们不用担心实施细节。

所以, 如果我说的是makeAdder(5);返回值是一个函数。

所以, 如果我把它分配给像fn这样的变量, 我已经得到的是一个函数。

一个我以后可以调用的功能。

而且你还记得...

让我重新回到这里。

你会记住, makeAdder期望一个参数, 它给出的函数预期另一个参数, 我们称之为y。

所以在这里我知道, 如果我可以传递一些东西, 例如值10, 我所知道的将是在场景中发生的是, 我最初传递的五个值加上我刚刚传入的十个值。

这两个都被添加到一起, 并返回结果。

所以, 如果我说功能十, 那么我期待什么呢?

十五。

你看, 我没有必要通过这里的五个, 因为我已经回来的功能是设置来记住从初始调用的五个。

现在这个机制看起来有点怪异和思维弯曲。

当我第一次学会时, 花了我几个月的时间来围绕它。

所以不要觉得这样看起来很奇怪, 但这是关闭的本质。

如果你以前听过这个话。

如果你从来没有听说过这个词, 可能听起来像我在说废话, 但在编程中有这样一种关闭技术。

它所指的是这个函数有一个值的事实。

我们还没有打电话。

有价值。

它能够记住在创建的地方发生了什么。

记住, 它是在这里创建的。

而且它能够记住的是具体的x变量。

所以, 当我们打电话给我们的时候, 我们从现在开始就通过了五项功能, 无论我们多么称呼它,

如果我说功能十, 那么我会得到十五回。

如果我以后打电话给二十, 那我会得到什么?

- [学生] 25回。

- 25。

无论多少次我称之为这个功能, 它总是记住我在创建时传入的最初的东西。

这就是关闭的意思。

说这里有一个问题

- [学生]是啊

这可能已经有一点点了。

- 是啊是十年吗是。

在这一行四, 当我十分通过, 这被分配到y参数。

练习文件列表
Ex_Files_Organizing_JavaScript.zip6.3M

中文课程网 提供全网最全,中文翻译质量最高的国外课程视频资源(Lynda / Pluralsight)

请先登陆 如果还没有账号,请先注册