paint-brush
了解一等和高阶函数by@Iggy
3,491
3,491

了解一等和高阶函数

Ignatius Sani3m2022/11/13
Read on Terminal Reader

一等函数是一种编程语言或编程语言具有的功能,它是一个接收另一个函数作为参数的函数。高阶函数之间的主要区别在于函数在运行后被调用后被调用。在 Javascript 中,我们可以将函数存储在变量甚至属性中,就像您对 Javascript 值取平均值一样。这开辟了一种新的方式来编写更灵活的代码,因为我们可以。将函数存储在 a.变量或添加属性。
featured image - 了解一等和高阶函数
Ignatius Sani HackerNoon profile picture


大家好!今天我要讨论的是编程中一个非常著名的概念(一等函数)。已经有很多关于这个主题的资源,但本文仍然有一些新内容,我花时间简化了一些事情以便更好地理解。


为什么这对我作为开发人员很重要?

  • 当您看到它们被使用时,它可以帮助您更好地理解 Javascript 回调函数。
  • 它可以帮助您了解代码的行为。
  • 它让您更好地理解为什么 Javascript 将函数视为值。


什么是一级函数?

根据维基百科,如果一种编程语言将函数视为一等公民,则称该语言具有一等函数。


这意味着该语言支持将函数作为参数传递给其他函数,将它们作为不同函数的值返回,将它们分配给变量,或将它们存储在数据结构中。


在 Javascript 中,事情是这样进行的,因为函数只是另一种类型的对象。如果您是这个概念的新手,您会觉得它很尴尬,特别是如果您来自不同的编程背景,但现在,请先考虑一下。由于对象是值,函数也是,Javascript 将它们视为一个。这开辟了一种编写更灵活代码的新方法,因为我们可以将函数存储在变量中或添加属性。

我已将要点分解为项目符号列表以使事情变得更容易。为了更好地理解一等函数,这里有几点来澄清它。


  • 作为参数的函数
  • 函数返回函数
  • 作为值的函数

作为参数的函数

使用一流函数可以实现的一件事是将函数作为参数传递;我们可以在很多 Javascript 代码中看到这种代码风格。例如 addEventListener 方法,它接收一个 Javascript 回调函数作为参数,例如


button.addEventListener('click', function(){ console.log('hellloooo') })


在前面的代码片段中,我们观察到 addEventListener 接收两个参数,其中第二个函数是回调函数,将在单击按钮后调用。


函数返回函数

我们可以从 Javascript 中的另一个函数返回函数; Javascript 中的许多对象都有方法,例如,javascript 中的数组函数。此外,我们还有函数的方法,例如call()bind()apply() Javascript 方法都可以在 Javascript 函数上调用。


 function count(){ Let counter = 0; return function(){ counter++ } }


count 函数返回了另一个我们更新计数器的函数。


作为值的函数

在 Javascript 中,我们可以将函数存储在变量甚至属性中,就像您对 Javascript 值取平均值一样。


 Const multiply = (a,b) => a * b


上面的Javascript箭头函数保存在multiply变量中,可以调用

以这种方式乘以(3,5)。


Javascript 中一流函数的重要性

一等函数的主要意义之一是它们使我们可以编写高阶函数。



高阶函数

这要么是一个接收另一个函数作为参数的函数,要么是一个返回新函数的函数。这是唯一可能的,因为一流的功能。


 button.addEventListener('click', function(){ console.log('hellloooo') })


这里的addEventListener()是高阶函数的一个例子,因为它接收另一个函数作为参数。它通常指的是 Javascript 回调函数,因为它是在 HOF 运行后调用的。高阶函数和一等函数之间的主要区别在于,一等函数是一种编程语言具有或不具有的特性,它只是意味着所有函数都是值。


结论

总之,要知道在实践中没有一流的功能;这只是一个概念。但是,由于该语言支持一等函数,因此在实践中可以使用高阶函数。