回调函数可以被定义为传递给另一个函数的参数的函数。不要将回调与关键字关联起来,因为回调只是传递给函数的参数的一个名称。

换句话说,我们可以说,传递给另一个函数作为参数的函数被称为回调函数。回调函数在外部函数完成后运行。它对于开发异步 JavaScript 代码非常有用。

在 JavaScript 中,创建回调很容易。也就是说,我们只需要将回调函数作为参数传递给另一个函数,并在任务完成后立即调用它。回调主要用于处理异步操作,例如注册事件监听器、从文件中提取或插入一些数据等等。

现在,让我们通过一些示例来看看如何创建回调。

这是一个异步回调的示例。异步性可以定义为如果 JavaScript 必须等待完成操作并在等待期间执行程序的其余部分。

示例1

在此示例中,有两个函数 getData( x, y, callback) 和 showData()。在这里,我们正在调用 getData() 以及两个参数一起作为 getData() 函数的第三个参数,即我们将它与回调一起传递给 getData() 函数,以及两个参数一起。因此,getData() 被调用并显示两个数字的乘积,一旦完成,回调函数将被执行。在输出中,我们可以看到 showData() 函数的数据在 getData() 函数的输出之后打印出来。

<html>
<head>
<style>
</style>
</head>
<body>
<h1>Hello World :)</h1>
<h3>The getData() function is called its arguments and the callback is executed after the completion of getData() function.</h3>
<script>
function getData(x, y, callback){
document.write(" The multiplication of the numbers " + x + " and " + y + " is: " + (x*y) + "<br><br>" );
callback();
}
function showData(){
document.write(' This is the showData() method execute after the completion of getData() method.');
}
getData(20, 30, showData);
</script>
</body>
</html>

输出

1.png

回调通常用于在完成异步操作后继续执行 - 这些被称为异步回调。

现在,在下一个示例中,我们将看到一个立即执行的回调。

示例2

这是使用回调的另一个示例。这是一个立即执行的同步回调的示例。

在这里,有两个函数 getData(callback),它使用提示框从用户那里获取输入,以及函数 showData(name, amt),它使用警告对话框显示用户输入的数据。

<html>
<head>
</head>
<body>
<h1>Hello World :)</h1>
<h2>This is the javaTiku.cn</h2>
<script>
function showData(name, amt) {
alert(' Hello ' + name + '\n Your entered amount is ' + amt);
}

function getData(callback) {
var name = prompt(" Welcome to the javaTiku.cn \n What is your name?");
var amt = prompt(" Enter some amount...");
callback(name, amt);
}

getData(showData);
</script>
</body>
</html>

输出

在执行以上代码后,将显示一个提示框,询问用户的姓名。

在输入姓名后,当用户单击“确定”时,将显示另一个提示框,询问要输入的金额 -

2.png

在输入金额后,当用户单击“确定”时,将显示一个警告框。它显示输入的用户名和金额。

3.png

标签: js, JavaScript, JavaScript语言, JavaScript开发, JavaScript语法, JavaScript脚本, JavaScript教程, JavaScript入门, JavaScript入门教程, JavaScript进阶, JavaScript宝典, JavaScript学习, JavaScript指南, JavaScript大全