callbak define in JS
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.
函数callback以参数形式传给调用函数f(callback),那么参数函数就叫回调函数。
疑问:一定要以参数形式传过去吗,我不可以直接在函数f里面调用函数b吗?确实可以。
解惑:如果你直接在函数f里调用的话,那么这个回调函数就被限制死了。
但是使用函数做参数就有下面的好处:当你f(callbackA)的时候函数callbackA()就成了回调函数,而你还可以f(callbackB),这个时候,函数callbackB()就成了回调函数。
如果你写成了function f(){...;callback();}就失去了变量的灵活性。
demo:
<!DOCTYPE html>
<html>
<head>
<script>
function f(callback) {
callback();
}
function callbackA(){
alert("我是回调函数a");
}
function callbackB(){
alert("我是回调函数b");
}
//这是一个带参数的回调函数
function callbackC(goInVar){
alert("我是回调函数b,参数是"+goInVar);
}
function test()
{
f(callbackA);
f(callbackB);
f(new callbackC("hehe"));
}
</script>
</head>
<body >
<a href="#" onclick="test()">点我</a>
</body>
</html>