JavaScript Callback 回调函数

JavaScript callback回调函数

你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件

回调函数

A callback function is a function passed into another function as an argument, which is then invoked inside the outer function to complete some kind of routine or action.

大意是:可以把一个函数作为另外一个函数的参数传入,以此能在它的内部调用不同外部的函数来完成不同的事情。

主函数(起始函数)、中间函数、回调函数。

回调机制的优势

在回调中,可以利用某种方式把回调函数传入中间函数。在传入一个函数之前,中间函数是不完整的。程序可以在运行时,通过登记不同的回调函数,来决定改变中间函数的行为,比简单的函数调用要更加灵活。

通常中间函数和回调函数是两个必要部分,JavaScript中有时候会直接忽略起始函数,直接调用中间函数。值得一提的是,可以使用命名函数或匿名函数作为回调函数。

// 回调函数
function greeting1(name) {
	alert('Good morning!' + name);  // 响应回调事件
}

funtion greeting2(name) {
	alert('Good afternoon!' + name);
}

// 中间函数
function processUserInput(callback) { // 把回调函数传入中间函数的动作为登记回调函数
	var name = prompt('Please enter your name'); // 触发回调事件
	callback(name); // 调用回调函数
}	

// 起始函数
function init() {
    processUserInput(greeting1);
	processUserInput(greeting2);
	processUserInput(function(name){
		alert('Good evening' + name);
	});
}

参考资料

posted @ 2017-09-14 11:06  花森煜米  阅读(799)  评论(0编辑  收藏  举报