回调函数的含义:
网友通俗定义:
一.例如:你想寄包裹,肯定要留下自己的联系方式和地址吧(相当于回调函数的地址)。然后开始打电话给快递,但快递不会马上来取件,而是通过你留下的联系方式和地址,在他有空或顺路的时候来联系你取件。在送包裹的过程中,服务好的话快递会在你包裹快递状态变化的各个环节通知你(比如已经送到分拣中心,由中心分发开始投递,到达对方所在城市,对方已经签收)。
大概就这样吧...
二.把电话号码留下 我Call(回调)你
三.回调函数最常见的是鼠标键盘钩子的回调。看了这个就很明白了。
第一人要第二人等待某件事A(挂钩,主调函数),在某个时刻T发生事件A(有消息发生),第二人要告诉第一人要相应的完成事件B(回调处理函数)。
可见主调函数和回调函数都是第一个人干的。
生活中这样的例子就是:
1、孩子告诉妈妈:明天我早起床,早点叫我。这是主调函数A。
2、妈妈第二天,早了半个小时叫孩子。这是消息响应T。
3、孩子起床。这是回调函数B。
再举一例
1、我告诉你,“当我的答案对你有帮助时,记得给我分数”。这是主调函数A。
2、你觉得我的答案好,给了分数。这是消息响应T。
3、我看到分数,很高兴。这是回调函数B。
四、可以使用回调函数的一个例子:
A要完成1件事,但对这件事的某个环节不清楚,必须通过B来完成这个环节;
问题是B完成这个环节的时间是不确定的,A如果一直问B,效率会很差;
但B是能够准确知道完成时间的,完成的时候B会给A一个通知,告诉A,你可以行动了,并把完成的结果(参数)告诉A
这样双方都不累;
实际操作的时候,A只要把某个函数fun写上自己的实现即可,但这个函数是B声明的,并且B在适当的时候调用这个函数,这个函数就是回调函数
我也来凑热闹
比如你显示器不亮了,你不知道怎么弄,那你就问在外地干IT的大表哥,你大表哥告诉你该怎么弄,然后需要你自己来操作。
你大表哥知道怎么弄,但是不会自己去弄,而是由你去弄。
换句话说,你大表哥实现了修理你显示器的方法,但他不会自己去调用,而是由你去调用。
那么你大表哥告诉你的修机器的方法就是回调函数。
普通函数与回调函数的区别: