javascript中回调函数的含义是什么。
答案 0 :(得分:13)
JavaScript的“回调”是可以传递给其他函数(如函数指针或委托函数)的函数对象,然后在函数完成时或需要时调用。例如,您可以使用一个主函数来传递它将调用的函数...
主要功能如下:
function mainFunc(callBack)
{
alert("After you click ok, I'll call your callBack");
//Now lets call the CallBack function
callBack();
}
你会这样称呼:
mainFunc(function(){alert("LALALALALALA ITS CALLBACK!");}
或者:
function thisIsCallback()
{
alert("LALALALALALA ITS CALLBACK!");
}
mainFunc(thisIsCallback);
这在javascript库中广泛使用。例如,jQuery的animation()函数可以传递这样的函数,以便在动画结束时调用。
将回调函数传递给其他函数并不能保证它会被调用。执行回调调用(calBack()
)完全取决于该函数的实现。
即使是“回叫”这个名字也是不言自明的...... =)
答案 1 :(得分:6)
它只是一个函数的名称,应该在某些东西之后回调。
它经常与XMLHttpRequest一起使用:
var x = new XMLHttpRequest();
x.onreadystatechange = function(){
if(x.readyState == 4){
callbackfunction(x.responseText);
}
}
x.open('get', 'http://example.com/', true);
x.send(null);
callbackfunction
只是一个简单的函数,在这种情况下:
function callbackfunction(text){
alert("I received: " + text);
}
答案 2 :(得分:3)
除了作为函数之外,回调函数还是异步应用程序设计的推动者。
在您等待时,可能会在调用函数的异步模式下锁定线程或单线程系统上的整个PC或UI,而不是调用函数并等待返回值,它会在完成之前返回,然后你可以退出代码(返回调用操作系统,空闲状态,运行循环,等等......)。然后,OS或异步函数会调用您的代码。您希望它回调的代码通常封装在称为“回调函数”的内容中。还有其他用途,但这是OOP UI框架中的常见用法。
使用最新的iOS 4.x,您还可以使用无名“块”进行回调。但是没有块的语言(或其他名称下的匿名闭包)使用函数进行函数回调。
答案 3 :(得分:-2)
您只需使用以下语句onClick后退按钮事件:
OnClick="javascript:history.go(-1)"
它会将您带回到您最近访问过的上一页。