高阶功能和回调:JavaScript的秘密调味料或仅花哨的术语?
#javascript #网络开发人员 #初学者 #es6

您准备好穿越JavaScript的扭曲和激动人心的世界吗?今天,我们即将使用高阶功能和回调来跳舞,听起来它们属于科幻电影中,而不是在您的日常JavaScript文件中。但是不要惊慌!这些不是来自另一个星系的外星人。他们在这里,方便,他们将成为您编码的最好朋友。让我们开始吧?

“高阶函数”或“花哨的函数”

首先,让我们解决这只称为高阶功能的野兽。不,他们不是皇室,也不坐在镀金的宝座上。在JavaScript中,高阶功能只是一个功能,可以做到这些超酷的事物:

  1. 将一个或多个函数作为参数(是的,您读到正确的功能,函数中的功能,例如间谍小说中的秘密消息)
  2. 将功能作为结果返回(就像那些不断从盒子里弹出的惊喜礼物)

这是一个高阶功能的一个示例。认识greetSomeone。它将函数作为参数(我们将在SEC中获取的回调)和名称。然后,它以名称为参数将回调函数调用:

function greetSomeone(callback, name) {
  return callback(name);
}

const sayHello = name => `Hello, ${name}!`;

console.log(greetSomeone(sayHello, "John")); // Hello, John!

在此代码中,greetSomeone是我们的高阶函数,sayHello是我们作为参数传递的回调函数。简单,对吗?

“回调”或“给我回电,JavaScript!”

好吧,我们已经处理了高和强大的高阶功能,现在让我们转到回调。回调就像那个可靠的朋友,他们将始终返回您的电话(或在这种情况下,您的功能)。

回调函数是一个作为参数传递到另一个函数中的函数,并有望在以后调用(或执行)。这有点像说:“嘿,javascript,做你的事情,完成后,给我戒指!”

让我们看一个简单的回调示例:

function bakeCake(callback) {
  console.log("Baking cake...");
  setTimeout(() => {
    callback();
  }, 2000);
}

function icingTheCake() {
  console.log("Icing the cake...");
}

bakeCake(icingTheCake);

在此代码中,bakeCake是一个将回调作为参数的函数。在bakeCake中,我们使用JavaScript的setTimeout功能(顺便说一句,内置的高阶功能)来模拟烤蛋糕所需的时间。一旦蛋糕被“烘烤”(2秒后),回调功能icingTheCake就被称为,我们继续冰上蛋糕。

总结或“我们幸存下来!”

所以,你有,伙计们!高阶功能和回调不是一些可怕的怪物。它们更像是JavaScript的秘密超级英雄,赋予您的代码超级大国,并使您看起来像是一个编码天才。

记住,与编码(和生活中)中的所有内容一样,实践变得完美。因此,继续前进,进行这些概念,很快您将围绕“高阶功能”和“回调”等术语,就好像它们过时了一样。

直到下一次,保持代码清洁和咖啡

强!愉快的编码,我的JavaScript读者!