JavaScript函数基础(三)之回调函数

1、什么是回调函数

		***你定义的
		*你没有调
		*但是最终执行了(某个时刻【定时器】或者某个条件下【按钮点击事件】)

2、常见的回调函数=====》【this指向什么】

		***Dom 事件回调函数======》【指向发生事件的dom元素,用户操作】
		*定时器回调函数====》【指向window】
		*AJAX请求回调函数(后面讲)
		*生命周期回调函数(后面讲)
document.getElementById('btn').onclick=function(){//dom事件回调函数
	 		alert(this.innerHTML)
	 	};
	 	// 定时器
	 	  // 超时定时器
	 	  setTimeout(function(){//定时器回调函数
	 	  	alert("到点了")
	 	  },2000)
	 	  // 循环定时器

在这里插入图片描述
回调函数通常和应用处于同一抽象层(因为传入什么样的回调函数是在应用级别决定的)。回调函数就成了一个高级调用底层,底层再回调高层的过程。
回调不仅仅用在应用和库之间。

中间函数和回调函数是回调的两个必要部分,还有一个是中间函数的调用者【起始函数】。

回调函数实际上有两种:阻塞式回调和延迟式回调。
阻塞式:回调函数的调用一定发生在起始函数返回之
延迟式:回调函数的调用有可能是在起始函数返回之。涉及多线程?

一个故事说:

你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。回答完毕。
硬件中断就是你一家人正在埋锅造饭 然后你突然被请去喝茶了

function openFile(filePath,callback){
    alert('start opening file in'+filePath);
    callback();//when finished,execute callback()
}

function writeToFile(){
    alert('i'm now writing file');
}

openFile('c://test.csv',writeToFile);

回调的优势:异步回调。
回调函数就是作为另一个函数的形参出现的。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值