什么是钩子函数?(这是系统中的,可以不看这段)
钩子函数是Windows消息处理机制的一部分,通过设置“钩子”,应用程序可以在系统级对所有消息、事件进行过滤,访问在正常情况下无法访问的消息。钩子的本质是一段用以处理系统消息的程序,通过系统调用,把它挂入系统。《来自百度百科》
是不是读不懂,那就对了,它太官方了,那就把它语义化些:
钩子函数是在一个事件触发的时候,在系统级捕获到了他,然后做一些操作。一段用以处理系统消息的程序,用以处理系统消息的程序,是说钩子函数是用于处理系统消息的
- 是个函数,在系统消息触发时被系统调用
- 不是用户自己触发的
什么是钩子函数?(javascript 中的)
在此之前你需要了解一下 回调函数
回调函数是你留个处理方法给事件,事件发生了以后会自动执行你留下调处理方法
钩子函数是好比找了个代理,监视事件是否发生,如果发生了这个代理就执行你的事件处理方法;在这个过程中,代理就是钩子函数
- 在某种意义上,回调函数做的处理过程跟钩子函数中要调用调方法一样
- 但是有一点: 钩子函数一般是由事件发生者提供的。直白了说,它留下一个钩子,这个钩子的作用就是钩住你的回调方法
⬇⬇我还是不懂⬇⬇
我直白的说:
钩子函数就是回调函数。
钩子函数一般是在某个框架里面的叫法,是这个框架在生命周期的某个阶段触发的回调函数。
你如果了解React和Vue,里面有生命周期函数,说的是一个页面不同时期执行的函数,那些都是钩子函数
代码展示:(vue框架)
<div id="#root"></div>
<script>
new Vue({ //new 一个实例对象
el:"#root",
data:{
str:1,
},
mounted(){ //当我的实例挂载完毕之后 会执行 这个就是钩子函数
console.log(123)
}
})
</script>
重点:
这个 mounted()不是我写的,我只是用了 vue.js 这个框架,它里面自带的,无论我写不写它就在那里,但当我调用它以后,它就会执行我参数的内容