回调函数含义

IT技术 javascript
2021-03-07 03:55:30

javascript中回调函数的含义是什么。

4个回答

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()) 完全取决于该函数的实现。

甚至“回调”这个名字也是不言自明的...... =)

它只是一个应该在某事之后回调的函数的名称。

它通常与 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);
}

除了只是一个函数之外,回调函数还是异步应用程序设计的推动者。

不是调用函数并等待返回值,而是在等待时可能在单线程系统上锁定线程或整个 PC 或 UI,使用异步模式调用函数,它在完成之前返回,然后你可以退出你的代码(返回到调用操作系统、空闲状态、运行循环等等......)。稍后,操作系统或异步函数会回调您的代码。您希望它回调的代码通常封装在称为“回调函数”的东西中。还有其他用途,但这是 OOP UI 框架中的常见用途。

在最新的 iOS 4.x 中,您还可以使用无名的“块”进行回调。但是没有块(或另一个名称的匿名闭包)的语言使用函数进行函数回调。

一些旧的操作系统只是将全局指令地址用于回调(不一定需要是“函数”的地址。
2021-05-10 03:55:30

您可以简单地使用后退按钮的以下语句 onClick 事件:

OnClick="javascript:history.go(-1)"

它将带您回到您最近访问过的上一页。