前面我们讲解了闭包函数,本文讲一下回调函数。
回调函数与闭包函数的区别是:
闭包函数是从函数体内返回一个函数到函数体外,而回调函数是给函数传入一个函数,内部函数只要调用传入的函数并给该函数的参数赋值,同样可以实现了外部函数调用内部变量的目的。
总结:
回调函数的作用是:在函数里面调用外面的函数,可以把里面的变量值传给外面的函数。
下面看代码:
<!DOCTYPE html>
<html>
<head>
<title>回调函数</title>
</head>
<body>
<script type="text/javascript">
function f1(n){
console.log(n);
}
function f2(f){
var num=100;
f(num);
}
f2(f1);
</script>
</body>
</html>
以上代码中,在f2中定义了一个形参f,用来接收传入的函数,在f2函数体内把形参当做函数调用,并传入内部的变量num。
我们在外部调用f2时传入了f1函数,这时f2函数的形参f接收到了f1函数,所以,f2函数中的f(num)等于f1(num),这样在num就被外部f1函数的形参n接收到了,所以输出100,即f2函数中的num。
以上代码虽然简单,但语法逻辑需要仔细品味,回调函数的语法在编程过程中被大量使用,所以请务必理解。
|