时间:2021-05-26
本文实例讲述了JS回调函数 callback的理解与使用。分享给大家供大家参考,具体如下:
基本理解一个概念
回调函数回头再调用函数,等主干事情干完了,再回头干分支上的事情。
官方定义
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.
实例1
//定义主函数,回调函数作为参数function A(callback) { callback(); console.log('我是主函数');}//定义回调函数function B(){ setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作}//调用主函数,将函数B传进去A(B);输出结果:
我是主函数
我是回调函数
实例2
function a() { console.log("执行a函数"); setTimeout(function(){ console.log("执行a函数的延迟函数"); },1000); function b() { console.log("执行函数b"); ); a(); b();};输出结果
以上代码会先执行函数a,而且不会等到a中的延迟函数执行完才执行函数b, 在延迟函数被触发的过程中就执行了函数b,当js引擎的event 队列空闲时才会去执行队列里等待的setTimeout的回调函数,这就是一个异步的例子
调用 setTimeout 函数会在一个时间段过去后在队列中添加一个消息。这个时间段作为函数的第二个参数被传入。如果队列中没有其它消息,消息会被马上处理。但是,如果有其它消息,setTimeout 消息必须等待其它消息处理完。因此第二个参数仅仅表示最少的时间 而非确切的时间
所以即使,时间设置为0,也是会照样先执行函数b
结语
回调函数广泛运用在同步(sync)和异步(async)
常见的:
还需要深挖:js单线程和js异步
浏览器常驻三大线程: js引擎线程,GUI渲染线程,浏览器事件触发线程
更多关于JavaScript相关内容可查看本站专题:《JavaScript常用函数技巧汇总》、《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例分析了C++中回调函数(CallBack)的用法。分享给大家供大家参考。具体分析如下:如果试图直接使用C++的成员函数作为回调函数将发生错误,甚至编译就
Node.js回调函数阻塞与非阻塞node.js异步编程的直接体现就是回调。异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。回调函数在完成任务后就
在setting中的callback中加上onAsyncSuccess:onAsyncSuccess回调函数,然后实现回调函数varisFirst=true;f
本文实例讲述了PHP回调函数与匿名函数。分享给大家供大家参考,具体如下:回调函数和匿名函数回调函数、闭包在JS中并不陌生,JS使用它可以完成事件机制,进行许多复
本文实例讲述了JS回调函数原理与用法。分享给大家供大家参考,具体如下:JS回调函数何为回调函数,官方解释:当程序跑起来时,一般情况下,应用程序(applicat