欢迎您,在本课中, 我们将讨论JavaScript高阶函数。 而这一切都建立在 是JavaScript将函数视为对象的想法。 例如在某些地方 您习惯使用变量的地方 您也可以使用功能。 这意味着我们可以将函数作为参数传递 到另一个,并获得一个函数作为返回值。 因此,函数是JavaScript的一流成员。 因此,即使我们愿意,我们也可以将它们存储在变量中。 所以高阶函数 将函数作为参数或返回函数。 这是我们要处理的页面 然后我们会继续填写。 好消息是 您可能已经做了一点点。 例如, 让我们看看,我这里有一堆按钮, funcAsArg。 因此,用作参数。 如果我想为此创建一个事件处理程序, 我将使用jQuery的on函数 它采用的参数是事件的名称 猜猜是什么功能。 所以它可能是一个函数的名字 那已经在那里 它可能是我们创建的一个匿名的 这可能是箭头函数,它也是匿名的。 如果你曾经做过 我在某个时候用JavaScript进行猜测, 您已经以某种方式做到了。 你猜怎么了? 您已经在使用高阶函数,还不错。 因此,在点击时,我们将向HTML显示一些内容。 这段代码没有什么奇妙的地方 但有点想指出 您可能经常使用什么 但也许永远不知道你在用它做什么 或为何有效。 现在,让我们看一个返回一个函数的函数 以及我们如何组织它。 假设我要在数字上切换符号。 现在那将是一个相对容易的操作 当然要做 但是我们正在创建这个例子 这样我们就可以显示更高阶的函数 因此,也许不只是返回变量, 我们将返回一个函数。 而我们将采用原始价值 并为此做些事情。 是的,这可能是一个独立的功能,但同样, 我们只是在这里演示功能。 因此,当我调用此函数时,我将获得另一个函数。 那么我们如何使它工作呢? 好吧,我要说的是,不要想太多。 我们习惯于返回变量的函数 我们只是将数据存储在某个地方。 好吧,这是一个功能 那会返回另一个函数 我们可以用它做点什么。 举例来说, 我们将采用两种不同的方法在这里称呼它。 根据需要提供开关标志和direction参数。 所以我要存储返回的函数 在forMomAndDad和forTheBooks中。 所以到目前为止,我真的什么都没有 发生魔术的地方是当我使用这些变量时 我将它传递给它所需的东西。 这就是它返回的函数 该内部功能, 注意具有原始值参数。 这就是我实际上要传递的内容。 现在注意这里,我对MomAndDad的方向是积极的 留在forTheBooks上。 并不是说我们在做任何不诚实的事情, 但是我们希望爸爸妈妈认为我们做得很好。 那个怎么样? 因此,让我们将此函数作为返回值进行测试。 爸爸妈妈看到500,会计看到了真实的东西。 不要说谎,这不是一个好主意。 让我们在这里检查一下,我们将输入一些内容, 我们去了。 我们知道,较早的一种也可以。 所以我们有一个取值的函数 返回另一个函数的函数 最后我们打电话给我们。 所以我们可以做的另一件事是使用Javascript函数 已经存在的更高阶的 过滤器就是其中之一。 我要在这里输入一个或多个字母。 我们将在框中找到哪个选项 实际上在那里匹配。 因此,让我们先进行设置 我要把盒子里的每个选项都拿出来 我将创建一个城市的阵列 然后只推送所有的文本 进入我们稍后要讨论的城市阵列。 那将是一个地方 我们在一个或多个字母中输入的位置 然后我们的过滤器功能将如下所示。 所以这只是过滤器,它是更高阶的 因为它需要一个函数作为参数。 在这种情况下,它是一个匿名函数。 我们正在看这个词, 我真的不需要在那儿登录的控制台 但是我们要看看角色是否匹配, 因为如果我们返回的值大于零, 那么我们知道那个角色被找到了 在那个地方 然后我们将其显示在页面上。 所以我们只显示有多少场比赛 并将其附加到页面上。 关于这一点最大的事情是我正在使用过滤器。 这是一个高阶函数 因为它将该函数作为参数。 那么,让我们说说字母a 似乎出现在其中的许多中。 到这里,我们已经进行了八场比赛。 短语" at"怎么样? 只是一场比赛。 再试一次,就在那里那一场比赛。 所以你有一些功能 您可以使用它来处理数组, 过滤器,成为其中之一 我们将遍历数组的每个成员 并赋予一定的功能, 告诉你它是否是该布尔函数的一部分 您要求先看看。 我们也可以做减少 这是另一个高阶函数 我将再次有选择权。 有了这个,我该怎么办 是获取框中每个选项的所有长度 和Reduce,带有一个可以给我带来结果的功能。 因此,它将数组减少为一个值 而且您可以在那里做任何您想做的事。 我要通过总和当前。 这将是一个连续的总和 那会给我长度 框中的所有字符。 同样,Reduce将函数作为参数。 第二个就是启动时的默认值。 所以我应该能够将所有这些加起来 好像我的牙套太多了。 因此,让我们对其进行修复。 好了 字符总数和所有选项元素均为78。 你可以自己算一下,看看 但我认为这行得通。 所以在本课中 我们看了一个介绍 在JavaScript中使用高阶函数。 并感谢您的收看。 在下一课中,我们将讨论JavaScript函数 称为迭代器和生成器。