第一种:把一个函数作为另外一个函数的参数,这个被当参数的函数就是回调函数?下面这例子f2是回调函数吗?
例:
function f1(fn){
fn()
}
function f2(){
alert(123)
}
f1(f2)第二种:一个自定义的函数,在发生事件的时候调用这个函数,这个函数叫回调函数。
function f1(e){}
obj.onclic=f1
是不是这两种都叫回调函数啊?
例:
function f1(fn){
fn()
}
function f2(){
alert(123)
}
f1(f2)第二种:一个自定义的函数,在发生事件的时候调用这个函数,这个函数叫回调函数。
function f1(e){}
obj.onclic=f1
是不是这两种都叫回调函数啊?
第二个传入函数,但没有执行,要等到click事件了才执行,可能不执行也可能执行多次。
回调函数是一种编程方式方法,不是写法,你的在写法上疑惑根本没有意义
当你需要在某种情况下执行一些代码,但这种情况不受你控制时,你就可以使用回调函数的方式
所以事件函数是回调函数,ajax回调函数也是,调用一些异步的接口获取返回值的方式也是,组件开发中支持一些事件或者说回调,即可以设计为用参数形式传递的函数,也可以设计为调用特定属性成员
alert(123)
}
obj.onclick=f1
那这个f1的地址传给谁了,onclick是事件,也是一个函数吗?是说f1函数传给了onclick函数?
将 f1 传递给 onclick 事件的处理函数(默认是空的)
这是典型的回调函数的应用:通过回调函数改变对象的行为