我的编程空间,编程开发者的网络收藏夹
学习永远不晚

javascript回调函数有什么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

javascript回调函数有什么用

这篇文章主要为大家展示了“javascript回调函数有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript回调函数有什么用”这篇文章吧。

在javascript中,回调函数就是一个被作为参数传递的函数。函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A,函数A就叫做回调函数;如果没有名称(函数表达式),就叫做匿名回调函数。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

什么是回调函数(Callback)

在JavaScript中,函数是对象。 因此,函数可以将函数作为参数,并且可以由其他函数返回。 执行此操作的函数称为高阶函数。 作为参数传递的任何函数都称为回调函数。

回调函数具体的定义为:函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A。我们就说函数A叫做回调函数。如果没有名称(函数表达式),就叫做匿名回调函数。

为什么我们需要回调?

出于一个非常重要的原因-JavaScript是一种事件驱动语言。这意味着JavaScript不会继续等待响应,而是会在侦听其他事件时继续执行。让我们看一个基本的例子:

function first(){
  console.log(1);
}
function second(){
  console.log(2);
}
first();
second();

如你所料,首先执行函数,然后执行第二函数,将以下内容记录到控制台:

// 1
// 2

到目前为止一切都很好。

但是,如果函数包含无法立即执行的某些代码怎么办? 例如,我们必须先发送请求然后等待响应的API请求? 为了模拟此动作,将使用setTimeout,它是一个JavaScript函数,将在设置的时间后调用该函数。 我们将功能延迟500毫秒以模拟API请求。 我们的新代码将如下所示:

function first(){
  // Simulate a code delay
  setTimeout( function(){
    console.log(1);
  }, 500 );
}
function second(){
  console.log(2);
}
first();
second();

现在了解setTimeout()的工作方式并不重要。重要的是,你看到我们把console.log(1)移到500毫秒延迟内。那么,当我们调用函数时会发生什么呢?

first();
second();
// 2
// 1

即使我们先调用了first()函数,我们在second()函数之后才打印了它的结果。

这并不是说JavaScript没有按照我们想要的顺序执行我们的函数,而是JavaScript在继续执行second()之前没有等待first()的响应。

那为什么给你看这个呢?因为你不能在一个函数后调用另一个另一个函数,而又希望它们以正确的顺序执行。回调是一种确保某些代码在其他代码已经完成执行之前不会执行的方法。

创建一个回调函数

好了,话不多说,让我们创建一个回调!

首先,打开您的Chrome开发者控制台(Windows:Ctrl + Shift + J)(Mac:Cmd + Option + J),然后在控制台中键入以下函数声明:

function doHomework(subject) {
  alert(`Starting my ${subject} homework.`);
}

现在让我们添加回调-作为doHomework()函数中的最后一个参数,我们可以传入回调。然后在对doHomework()的调用的第二个参数中定义回调函数。

function doHomework(subject, callback) {
  alert(`Starting my ${subject} homework.`);
  callback();
}

doHomework('math', function() {
  alert('Finished my homework');
});

可以看到,如果你在控制台中输入上述代码,则会收到两个alert:“starting homework”alert,然后是“finished homework”alert。

但是,并非总是必须在我们的函数调用中定义回调函数。它们可以在我们的代码的其他地方定义,如下所示:

function doHomework(subject, callback) {
  alert(`Starting my ${subject} homework.`);
  callback();
}
function alertFinished(){
  alert('Finished my homework');
}
doHomework('math', alertFinished);

此示例的结果与前面的示例完全相同,但是设置略有不同。我们可以看到,在doHomework()函数调用期间,我们已将alertFinished函数定义作为参数传递。

一个真实的例子

我们尝试调用Twitter的API。 向API发出请求时,必须等待响应,然后才能对该响应采取行动。 这是真实回调的一个很好的例子。 请求长这样:

T.get('search/tweets', params, function(err, data, response) {
  if(!err){
    // This is where the magic will happen
  } else {
    console.log(err);
  }
})

T.get意味着我们正在向Twitter发送获取请求

此请求中包含三个参数:“ search / tweets”(这是我们的请求的路由),params(这是我们的搜索参数)和一个匿名函数(即我们的回调)。

回调在这里很重要,因为我们需要等待服务器的响应才能继续执行代码。 我们不知道我们的API请求是否会成功,因此在通过get请求将参数发送到search/tweets后,我们等待。 一旦Twitter响应后,将调用我们的回调函数。 Twitter会向我们发送错误(错误)对象或响应对象。 在回调函数中,我们可以使用if()语句来确定我们的请求是否成功,然后对新数据采取相应措施。

以上是“javascript回调函数有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

javascript回调函数有什么用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JavaScript中的回调函数是什么及如何用

今天小编给大家分享一下JavaScript中的回调函数是什么及如何用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.什么是
2023-07-04

python回调函数是什么

python回调函数是指将一个函数作为参数传递给另一个函数,并在特定事件发生时由另一个函数调用的函数。回调函数通常用于异步编程、事件驱动编程和处理大量数据时的回调机制。其应用场景如下:1、事件处理;2、异步编程;3、迭代器和生成器。本教程操
python回调函数是什么
2023-12-11

如何使用JavaScript中的回调函数

这篇文章将为大家详细讲解有关如何使用JavaScript中的回调函数,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript是什么JS是JavaScript的简称,它是一种直译式的脚本语言,其解
2023-06-14

怎么在javascript中异步回调函数

这篇文章将为大家详细讲解有关怎么在javascript中异步回调函数,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、说明JavaScript代码本质上总是阻塞的。但是这种阻塞性使我们无法在
2023-06-15

jquery中什么是回调函数

在jquery中,回调函数就是一个被作为参数传递的函数。函数A作为参数(函数引用)传递到另一个函数B中,并且这个函数B执行函数A,那么函数A就叫做回调函数;如果没有名称(函数表达式),就叫做匿名回调函数。回调函数的使用可以大大提升编程的效率,这使得它在现代编程中被非常多地使用。
2022-11-22

php中什么是回调函数

小编给大家分享一下php中什么是回调函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是回调函数:回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一
2023-06-15

javascript怎么调用函数

这篇文章给大家分享的是有关javascript怎么调用函数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。javascript的调用函数方法有:1、使用makeArray函数作为它的一个方法,使用json的方式来声
2023-06-14

JavaScript函数怎么调用

这篇文章主要介绍“JavaScript函数怎么调用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript函数怎么调用”文章能帮助大家解决问题。函数:函数分类:自定义函数和系统函数常用系统
2023-06-27

Java中回调函数的作用是什么

这期内容当中小编将会给大家带来有关Java中回调函数的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、先定义一个接口,规定回答问题的条件是打我手机public interface CallBa
2023-06-17

编程热搜

目录