我最近开始学习JavaScript,并且看到了很多回调函数。 这些功能是什么,它们为什么使用以及用于什么? 我很乐意得到真正的基本定义,因为我想明白它,因为我意识到它在js中非常重要。有人可以解释我的回调函数吗?
谢谢:)
我最近开始学习JavaScript,并且看到了很多回调函数。 这些功能是什么,它们为什么使用以及用于什么? 我很乐意得到真正的基本定义,因为我想明白它,因为我意识到它在js中非常重要。有人可以解释我的回调函数吗?
谢谢:)
正如其名称所暗示的,回调函数是作为参数传递给另一个函数匿名或命名功能,或AJAX调用等,并将在JavaScript引擎完成某个动作后执行。
例如,一旦AJAX调用返回数据,就可以传递一个回调函数。为了简单起见,我使用jQuery:
$.ajax({
url: "/my-api-path/",
data: myParams
}).done(myCallback);
这里,myCallback是一个函数,一旦AJAX调用完成,它就会被执行。这种情况下的回调函数将被AJAX调用返回的响应对象调用。注意这个回调函数是如何作为jQuery的AJAX API提供的.done方法的参数传递的。
在另一实例中,
setTimeout(
function() {
alert("Im inside a callback function!");
}, 2000);
这里包含警报的功能是第一两个参数传递给在JavaScript中的setTimeout方法。第二个是应该执行该函数之后的毫秒数。由于此功能没有名称,因此称为匿名功能。
相同的代码可以重新写为:
var myCallback = function(){
alert("Im inside a callback");
};
setTimeout(myCallback, 2000);
动作完成时回调将立即执行。因此,在引擎遇到setTimeout语句之后,它会将myCallback函数存储在引用中,然后在setTimeout语句之后继续执行。一旦经过2秒,它就会意识到执行回调的时间,因此执行将跳转到回调。然后警报将执行,回调函数将终止并且执行将从2秒钟过去并且引擎跳转到回调的地方继续。
希望这解释了回调是如何工作的。
因为我们知道我们可以通过不同类型的变量,对象作为函数的参数。在JavaScript中,如果函数作为参数传递,那么它被称为回调函数。
在某些事件/条件上调用回调函数,直到程序可以执行其他代码。回调函数只有在特定事件发生或特定条件满足时才会执行。
回调函数是您作为参数传递给另一个函数的函数。
回调函数将被您传递给它的函数调用(或者链中的另一个函数)。
这通常是在函数执行异步操作时完成的,因此您不能使用返回值。
主要的例子是事件:
// call someFunction when the document is loaded
addEventListener('load', someFunction);
或时间相关的呼叫:
// call someFunction after 30 seconds have elapsed
setTimeout(someFunction, 30000);
你是什么意思的事件? – PeeHaa
事件意味着一些条件。 –