java中钩子函数回调函数_钩子函数和回调函数

java中钩⼦函数回调函数_钩⼦函数和回调函数
⼀般认为,钩⼦函数就是回调函数的⼀种,其实还是有差异的,差异地⽅就是:触发的时机不同。
先说钩⼦函数:
地球仪制作方法简单钩⼦(Hook)概念源于Windows的消息处理机制,通过设置钩⼦,应⽤程序对所有消息事件进⾏拦截,然后执⾏钩⼦函数。
let btn = ElementById("btn");
h5n6
console.log("i'm a hook");
}
上⾯的例⼦,在按钮点击时候⽴即执⾏钩⼦函数。⽽看下⾯的例⼦:
btn.addEventListener("click",() =>{
console.lick);//undefined
抗氧化植物素
});抗生素制作方法
洗头床给btn绑定了⼀个,只有消息捕获完成之后才能触发回调函数。
很明显的差别就是:钩⼦函数在捕获消息的第⼀时间就执⾏,⽽回调函数是捕获结束时,最后⼀个被执⾏的。
回调函数其实是调⽤者将回调函数的指针传递给了调⽤函数,当调⽤函数执⾏完毕后,通过函数指针来调⽤回调函数。⽽钩⼦函数在消息刚发出,没到达⽬的窗⼝前就先捕获了该消息,先得到控制权执⾏钩⼦函数,所以他可以加⼯改变该消息,当然也可以不作为,还可以强⾏结束该消息。
其实钩⼦来源于英⽂词Hook,在windows系统中,⼀切皆消息,⽐如按了⼀下键盘,也是⼀个消息,Hook的意思是勾住,也就是在消息过去之前,可以先把消息勾住,不让其传递,你可以优先处理,也即这项技术就是提供了⼀个⼊⼝,能够针对不同的消息或者API在执⾏前,先执⾏你的操作,你的操作也称为「钩⼦函数」,所以,有的时候程序员在讨论的时候,也经常会说,可以先hook住,在处理,也即在执⾏某某操作之前,优先处理⼀下
受电弓试验台好啦,这就是Hook的思想和原理

本文发布于:2024-09-23 05:32:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/134783.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:消息   函数   回调   捕获
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议