首页 后端开发 php教程 回调函数和普通函数有什么区别?

回调函数和普通函数有什么区别?

Jun 19, 2017 am 11:24 AM

普通函数回调函数的区别:

对普通函数的调用:调用程序发出对普通函数的调用后,程序执行立即转向被调用函数执行,直到被调用函数执行完毕后,再返回调用程序继续执行。从发出调用的程序的角度看,这个过程为“调用-->等待被调用函数执行完毕-->继续执行”

对回调函数调用:调用程序发出对回调函数的调用后,不等函数执行完毕,立即返回并继续执行。这样,调用程序执和被调用函数同时在执行。当被调函数执行完毕后,被调函数会反过来调用某个事先指定函数,以通知调用程序:函数调用结束。这个过程称为回调(Callback),这正是回调函数名称的由来。

普通函数,回调函数都是被其他函数调用的,不同之处在于调用者是否明确知道自己调用的到底是什么,举个例子:
void func1(){}
void func2(){}
typedef void (*fp)();//申明函数指针,fp表示一个空参数,返回类型void的函数指针
void funcCaller1(){
//此处func1可以看作普通函数
   func1();//此处,funcCall1明确知道自己调用了func1
}
void funcCaller2(fp funcPtr){
   funcPtr();//此处,funcCall2并不知道自己到底调用的是什么,只知道自己调用了一个空参数的,返回类型是void的函数
}
void funcCaller3(){
//此处,funcCaller2是普通函数,func1是回调函数
   funcCaller2(func1);//调用funcCaller2,参数是func1
//此处,funcCaller2是普通函数,func2是回调函数
   funcCaller2(func2);//调用funcCaller2,参数是func2
}

以上是回调函数和普通函数有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

java回调函数怎么写 java回调函数怎么写 Jan 09, 2024 pm 02:24 PM

java回调函数的写法有:1、接口回调,定义一个接口,其中包含一个回调方法,在需要触发回调的地方,使用该接口作为参数,并在合适的时机调用回调方法;2、匿名内部类回调,可以使用匿名内部类来实现回调函数,避免创建额外的实现类;3、Lambda表达式回调,在Java 8及以上版本中,可以使用Lambda表达式来简化回调函数的写法等。

es6中箭头函数和普通函数的区别是什么 es6中箭头函数和普通函数的区别是什么 Mar 08, 2022 pm 12:11 PM

区别:1、箭头函数的定义要比普通函数定义简洁、清晰得多,很快捷;2、箭头函数不会创建自己的this,而普通函数会;3、箭头函数不能作为构造函数使用,而箭头函数能作为构造函数使用;4、箭头函数没有自己的arguments,而箭头函数有。

Java中回调函数的基本语法与应用 Java中回调函数的基本语法与应用 Jan 30, 2024 am 08:12 AM

Java回调函数的基本写法和使用方法引言:在Java编程中,回调函数是一种常见的编程模式,通过回调函数,可以将某个方法作为参数传递给另一个方法,从而实现方法的间接调用。回调函数的使用,在事件驱动、异步编程和接口实现等场景中非常常见。本文将介绍Java回调函数的基本写法和使用方法,并提供具体的代码示例。一、回调函数的定义回调函数是一种特殊的函数,它可以作为参数

Vue组件通信:使用回调函数进行组件通信 Vue组件通信:使用回调函数进行组件通信 Jul 09, 2023 pm 07:42 PM

Vue组件通信:使用回调函数进行组件通信在Vue应用程序中,有时候我们需要让不同的组件之间进行通信,以便它们可以共享信息和相互协作。Vue提供了多种方式来实现组件之间的通信,其中一种常用的方式是使用回调函数。回调函数是一种将一个函数作为参数传递给另一个函数并在特定事件发生时被调用的机制。在Vue中,我们可以利用回调函数来实现组件之间的通信,使得一个组件可以在

如何在 Golang 中使用数据库回调函数? 如何在 Golang 中使用数据库回调函数? Jun 03, 2024 pm 02:20 PM

在Golang中使用数据库回调函数可以实现:在指定数据库操作完成后执行自定义代码。通过单独的函数添加自定义行为,无需编写额外代码。回调函数可用于插入、更新、删除和查询操作。必须使用sql.Exec、sql.QueryRow或sql.Query函数才能使用回调函数。

分析常见的Python回调函数应用场景 分析常见的Python回调函数应用场景 Feb 02, 2024 pm 09:34 PM

Python中常见的回调函数应用场景分析,需要具体代码示例回调函数是指在编程中,将一个函数作为参数传递给另一个函数,并在某个特定的事件发生时执行这个参数函数。回调函数广泛应用于异步编程、事件处理、GUI编程等领域。本文将分析Python中常见的回调函数应用场景,并给出相关的具体代码示例。异步编程在异步编程中,回调函数常用于处理异步任务的结果。当需要执行一个耗

事件驱动编程中Java回调函数的应用领域 事件驱动编程中Java回调函数的应用领域 Feb 01, 2024 am 09:07 AM

Java回调函数在事件驱动编程中的应用回调函数简介回调函数(callbackfunction)是一种在某个事件或操作发生后被调用的函数。它通常用于事件驱动编程中,其中程序在等待事件发生时会阻塞。当事件发生时,回调函数就会被调用,程序就可以继续执行。在Java中,回调函数可以通过接口或匿名内部类来实现。接口是一种定义函数签名的机制,它允许一个类实现另一个类的

深入解析JavaScript中的回调函数(同步和异步) 深入解析JavaScript中的回调函数(同步和异步) Aug 04, 2022 am 10:05 AM

回调函数是每个前端程序员都应该知道的概念之一。回调可用于数组、计时器函数、promise、事件处理中。本文将会解释回调函数的概念,同时帮你区分两种回调:同步和异步。

See all articles