Javascript 什么是回调函数?

Javascript 什么是回调函数?,javascript,jquery,ajax,callback,Javascript,Jquery,Ajax,Callback,我问一位朋友,问他这段代码中的(数据,函数(I,e))是什么,他说这是回调,然后我在互联网上搜索回调,但不明白。我读到了关于回调的最简单的方式是什么 $.each(data, function(i,e){ console.log(e.id); }); (数据、函数(i、e)在这里有什么用途 $.ajax({ type: "GET", url: pbxApi+"/confbridge_participants/conference_participan

我问一位朋友,问他这段代码中的
(数据,函数(I,e)
)是什么,他说这是回调,然后我在互联网上搜索回调,但不明白。我读到了关于回调的最简单的方式是什么

 $.each(data, function(i,e){
   console.log(e.id);
 });
(数据、函数(i、e)
在这里有什么用途

 $.ajax({
        type: "GET",
        url: pbxApi+"/confbridge_participants/conference_participants.json?cid="+circle,
        dataType: "jsonp",
        jsonpCallback: 'callback',
        contentType: "application/javascript",
        success: function(data) {

         console.log(data);

        }
        });

回调函数是作为参数传递给另一个函数的函数,回调函数在另一个函数中被调用(或执行)。 像这样

(data, function(i,e)
我们可以像传递变量一样传递函数,并在函数中返回它们,然后在其他函数中使用它们。当我们将回调函数作为参数传递给另一个函数时,我们只传递函数定义


请注意,回调函数不是立即执行的。它是在包含函数体中的某个指定点“回调”的。有关详细信息,请参阅一个回调方法,它是回调的

谁会回敬你?

您的框架将调用它

它为什么要回电话?

因为你要求它回电话,因为你想在事情发生时做一些处理

示例

  • 您正在执行某些处理,不知道它何时完成。您提供了一个回调,然后继续执行其他一些工作。您的回调函数将被回调,以告诉您处理已完成,您现在可以在您的终端执行某些操作

  • 您想知道某个控件何时触发某个事件,以便进行一些处理。您提供了一个回调函数作为事件处理程序

  • 您对框架完成的默认处理不满意,并且希望覆盖该处理,您可以提供回调,框架将其回调以使用您自己的处理


  • 因此,一般来说:您要求组件/框架调用您提供的方法。您从不从代码中调用提供的方法,其他人会调用它。

    通常,JavaScript语句是逐行执行的。但是,使用effects,即使效果未完成,下一行代码也可以运行。这可能会产生错误

    为了防止这种情况,您可以创建一个回调函数

    在当前效果完成后执行回调函数

    例如,这是一个回调函数:

    $("button").click(function(){
        $("p").hide("slow", function(){
            alert("The paragraph is now hidden");
        });
    });
    
    在这种情况下,函数hide将在警报之前执行,这正是我们想要的

    另一方面,如果您不使用回拨功能,请这样说:

    $("button").click(function(){
        $("p").hide(1000);
        alert("The paragraph is now hidden");
    });
    

    在这种情况下,甚至在执行函数hide之前都会执行警报。这是Javascript中回调函数的典型用法。

    回调函数是您为现有函数/方法指定的函数,在操作完成时调用,需要额外处理等

    *这里有一些东西可以让您更好地理解回调:

    男1对男2:嘿,老兄,当用户点击这里时,我想做点什么,发生这种情况时给我回电话,好吗

    当用户单击此处时,Guy 2会回拨Guy 1*