当前位置: 首页 > Web前端 > JavaScript

什么是JavaScript中的钩子(钩子机制-钩子函数-钩子)?

时间:2023-03-27 13:40:26 JavaScript

我的博客首先看我们的标题:什么是JavaScript中的钩子(钩子机制\钩子函数\钩子)?在我们的前端JavaScript中,经常会提到hooks,毫无疑问,这个东西一定是特别重要的。但是一点前端入门,我就很疑惑,这个hook是什么东西?首先,我们的钩子,钩子机制,钩子函数,钩子都是同一个概念。钩子(HOOK)?对于Windows系统,它是基于事件驱动的机制。说白了,整个系统都是通过消息传递来实现的。钩子(hook)是一种特殊的消息处理机制,可以监听系统或进程中的各种事件消息,拦截并处理发往目标窗口的消息。用于监控系统中特定事件的发生,完成特定的功能,如截屏、日志监控、拦截键盘鼠标输入等。百度给出的解释如下:钩子函数是Windows消息处理机制。通过设置“钩子”,应用程序可以在系统级别过滤所有的消息和事件,访问正常情况下无法访问的消息。钩子的本质是一个处理系统消息的程序,通过系统调用挂钩到系统中。是不是觉得还是不懂?显然,这个解释很官方,我们不得不用现实的思维来形容。说白了,钩子函数就是在触发时在系统层面捕获一个事件,然后进行一些操作。Aprogramforprocessingsystemmessages,处理系统消息的程序,是指钩子函数用来处理系统消息的两个特点:是一个函数,当系统消息被触发时,被系统调用而不是由用户自己触发。回调函数和hook回调函数是你留下的一个函数,但是这个函数并没有立即执行,而是绑定了一个事件。当事件被触发时,函数会自动执行,不一定。概念:一个函数作为参数传递给另一个JavaScript函数。回调函数是一种确保一段代码在执行另一段代码之前执行的方法。如果还是不明白,请看:10张图让你彻底理解回调函数——知乎(zhihu.com)钩子函数就像是找一个代理,监听一个事件是否发生,如果这个代理执行你的事件处理发生方法;在这个过程中,代理就是钩子函数。从某种意义上说,回调函数的处理过程和在钩子函数中调用调用方法是一样的,但是!!!钩子函数一般由事件生成器提供。说白了就是留了一个钩子,这个钩子的作用就是钩住你的回调方法。或者,您可以将挂钩函数视为回调函数。钩子函数一般在某个框架中被调用,是框架在生命周期的某个阶段触发的回调函数。例如,Vue/React中有生命周期函数。看Vue框架自带的一段代码,不管我写不写,它都在,但是当我调用它的时候,它会执行我参数的内容。