你的理解是错误的!
自己调用自己 称之为“递归”,而不是回调
你也知道回调的关键是这个回
既然是回,那么就有一个谁是主体的问题,因为回调是往回调用的意思
我调用了函数A,而函数A在执行过程中调用了我提供的函数B,这个函数B就称为函数A的回调函数
显然主体是函数A
我们知道,函数是完成某个特定功能的代码集合,在函数执行的过程中,一般是不能去干预他的行为的
当函数被设计成带有回调功能时,我们就有可能在函数的执行过程中,通过回调函数去干预他。例如
自己调用自己 称之为“递归”,而不是回调
你也知道回调的关键是这个回
既然是回,那么就有一个谁是主体的问题,因为回调是往回调用的意思
我调用了函数A,而函数A在执行过程中调用了我提供的函数B,这个函数B就称为函数A的回调函数
显然主体是函数A
我们知道,函数是完成某个特定功能的代码集合,在函数执行的过程中,一般是不能去干预他的行为的
当函数被设计成带有回调功能时,我们就有可能在函数的执行过程中,通过回调函数去干预他。例如
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
function
foo(
$n
,
$f
=
''
) {
if
(
$n
< 1)
return
;
for
(
$i
=0;
$i
<
$n
;
$i
++) {
echo
$f
?
$f
(
$i
) :
$i
;
}
}
//无回调时
foo(5);
//01234
//有回调时
function
f1(
$v
) {
return
$v
+
$v
;
}
foo(5,
'f1'
);
//02468
|
foo相当于php中的call_user_func_array