[quote=引用 1 楼 xuzuning 的回复:] 你的理解是错误的! 自己调用自己 称之为“递归”,而不是回调 你也知道回调的关键是这个回 既然是回,那么就有一个谁是主体的问题,因为回调是往回调用的意思 我调用了函数A,而函数A在执行过程中调用了我提供的函数B,这个函数B就称为函数A的回调函数 显然主体是函数A 我们知道,函数是完成某个特定功能的代码集合,在函数执行的过程中,一般是不能去干预他的行为的 当函数被设计成带有回调功能时,我们就有可能在函数的执行过程中,通过回调函数去干预他。例如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
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
你的理解是错误的! 自己调用自己 称之为“递归”,而不是回调 你也知道回调的关键是这个回 既然是回,那么就有一个谁是主体的问题,因为回调是往回调用的意思 我调用了函数A,而函数A在执行过程中调用了我提供的函数B,这个函数B就称为函数A的回调函数 显然主体是函数A 我们知道,函数是完成某个特定功能的代码集合,在函数执行的过程中,一般是不能去干预他的行为的 当函数被设计成带有回调功能时,我们就有可能在函数的执行过程中,通过回调函数去干预他。例如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
21,894
社区成员
140,350
社区内容
加载中
试试用AI创作助手写篇文章吧