【vue】钩子函数和回调函数的区别
一般认为,钩子函数就是回调函数的一种,其实还是有差异的,差异地方就是:触发的时机不同。
先说钩子函数:
钩子(Hook)概念源于Windows的消息处理机制,通过设置钩子,应用程序对所有消息事件进行拦截,然后执行钩子函数。
let btn = document.getElementById("btn");
btn.onclick = () => {console.log("i'm a hook");
}
上面的例子,在按钮点击时候立即执行钩子函数。而看下面的例子:
btn.addEventListener("click",() =>{console.log(this.onclick);//undefined
});
给btn绑定了一个监听器,只有消息捕获完成之后才能触发回调函数。
很明显的差别就是:钩子函数在捕获消息的第一时间就执行,而回调函数是捕获结束时,最后一个被执行的。
回调函数其实是调用者将回调函数的指针传递给了调用函数,当调用函数执行完毕后,通过函数指针来调用回调函数。而钩子函数在消息刚发出,没到达目的窗口前就先捕获了该消息,先得到控制权执行钩子函数,所以他可以加工改变该消息,当然也可以不作为,还可以强行结束该消息。
【vue】钩子函数和回调函数的区别相关推荐
- 钩子函数和回调函数的区别
一般认为,钩子函数就是回调函数的一种,其实还是有差异的,差异地方就是:触发的时机不同. 先说钩子函数: 钩子(Hook)概念源于Windows的消息处理机制,通过设置钩子,应用程序对所有消息事件进行拦 ...
- linux钩子函数和回调函数,Linux Kernel 学习笔记10:hook函数
(本章基于: Linux -4.4.0-37) linux 内核中有一套hook函数机制,可在不同hook点位置监控网络数据包,并执行丢弃.修改等操作.网络防火墙就是通过此机制实现的. 注册注销hoo ...
- C语言_钩子函数(回调函数)
目录 1.引言 2.变量指针 3.函数指针 4.钩子函数作用 5.钩子函数使用 6.带参数的钩子函数 7 stm32 CubeMx 定时器回调函数的实现 1.引言 钩子函数.回调函数.注册函数,挂钩子 ...
- java中钩子函数回调函数_钩子函数和回调函数
一般认为,钩子函数就是回调函数的一种,其实还是有差异的,差异地方就是:触发的时机不同. 先说钩子函数: 钩子(Hook)概念源于Windows的消息处理机制,通过设置钩子,应用程序对所有消息事件进行拦 ...
- 高阶函数和回调函数的区别
今天看到高阶函数的概念,突然就迷不过来了,这个高阶函数和回调有什么区别呢? 高阶函数英文叫Higher-order function.那么什么是高阶函数? 刚开始学习语言我最害怕看到这种XX函数的,一 ...
- JavaScript高级day01-PM【对象、函数、回调函数、IIFE、this、关于语句分号问题、webstorm代码模板、复习】
笔记.视频.源码:JavaScript(基础.高级)笔记汇总表[尚硅谷JavaScript全套教程完整版] 目 录 P7 07.尚硅谷_JS高级_对象 23:30 1. 什么是对象? 2. 为什么 ...
- 将类的成员函数作为回调函数(外一篇:友元函数)
转自:http://blog.csdn.net/xylary/article/details/1548596 将类成员函数用做C回调函数 提出问题: 回调函数是基于C编程的Windows SDK的技 ...
- 细说PHP笔记03(第7章)--数组与数据结构,数组定义,数组遍历,数组内部指针遍历,键值操作函数,统计数组函数,回调函数处理数组元素,数组排序,拆分、合并、分解、结合数组,数组实现堆栈,随机选取元素
1.数组 索引数组:索引值是整数 关联数组:索引值是字符串 2.数组的定义 1.以直接赋值的方式声明 $数组名[下标]=资料内容 或 $数组名[关联字符串(键值)]=资料内容 <?php $va ...
- Go 学习笔记(16)— 函数(02)[函数签名、有名函数、匿名函数、调用匿名函数、匿名函数赋值给变量、匿名函数做回调函数]
1. 函数签名 函数类型也叫做函数签名,可以使用 fmt.Printf("%T") 格式化参数打印函数类型. package mainimport "fmt"f ...
最新文章
- flannel 概述 - 每天5分钟玩转 Docker 容器技术(58)
- opencv通道拆分与合并:split和merge
- python json.loads()中文问题-python处理json数据中的中文
- 认真工作的原因以及方法
- 计算机设备全年销量excel,计算机二级MS-OFFICE考试EXCEL题型汇总附答案.pdf
- mysql的调试与分析_mysql日志管理分析调试实例_MySQL
- android requestmtu,android - 如何设置/获取/请求从Android到iOS或反之亦然BLE的MTU? - 堆栈内存溢出...
- 聚合 aggregate
- 聚合函数查询 group by having
- 没有找到MSVCP71.dll,迅雷5无法进行离线下载,P2P Seacher无法连入emule网络
- explode php,php中的explode()函数实例介绍
- bootlogo画面制作和替换
- 不知道如何做好精益生产管理?可能是你的企业还没有进行工时分析
- html中嵌入flvplayer.swf播放器,播放视频
- 跨境电商erp管理系统
- Mac破解软件 “XXX”意外退出 奔溃解决方法
- 服务器中的虚拟化是什么意思,虚拟化是什么意思
- 一个筛选键引起电脑键盘失灵的命案
- 1449异常 mysql_mysql异常-UncategorizedSQLException 1449
- 黄褐斑激光-百花净斑方
热门文章
- 帝国CMS7.5默认首页模板太难看,如何修改首页模板样式
- php 读 cookies,正确解读PHP读取Cookies的方法_PHP教程
- 拓端tecdat|R语言逻辑回归(Logistic回归)模型分类预测病人冠心病风险
- java键盘监听事件代码_JavaScript监听键盘事件代码实现
- 移远 LTE Cat.M1/Cat.NB1 BG36 模组简介和实际应用方向详解
- 【C#设计模式】4-0. 简单工厂模式【创建型】
- Java对接阿里云号码隐私保护
- MM ABAP采购资讯记录批量删除
- Web报表系统葡萄城报表:报表系统
- DELL显示器刷新频率调到75进桌面黑屏,解决办法:启动VGA模式