被做为实参传入另外一函数,并在该外部函数内被调用,用以来完成某些任务的函数,称为回调函数。javascript
例如:html
function greeting(name) { alert('Hello ' + name); } function processUserInput(callback) { var name = prompt('请输入你的名字。'); callback(name); } processUserInput(greeting);
以上范例为 同步 回调,它是当即执行的。java
然而须要注意的是,回调函数常常被用于继续执行一个异步 完成后的操做,它们被称为异步回调。例如,这个简单 的 maps-example.html 例子(live 连接点此)使用了 Google Maps 以及 Geolocation 的 API 来展现您设备的当前位置。git
因为从 GPS 获得设备坐标信息的操做为异步的(咱们不知道什么时候数据会被返回),因此 Geolocation.getCurrentPosition()
方法接收一个匿名回调函数做为形参,而该回调函数则接收传回的坐标数据做为形参。该函数只在坐标数据返回后才执行。github