callback 回调函数: 函数里面调取函数;
<script>
// callback, 函数里面调取函数;
function fnn1(callback){
callback()
console.log('函数1')
}
function fnn2(){
console.log('函数2')
}
fnn1(fnn2) // 传递参数:fnn2函数, 它会在fnn1函数中的calllback执行;
// 打印结果 函数2, 函数1
</script>
callback.apply或者callback.call传递参数;
// 调取的方法:callback(); callback.apply(this,[1,2,3]) ; callback.call(this, 55555)
function fnn1(callback){
// callback()
console.log('函数1')
callback.apply(this,[1,2,3]) // callback();
}
function fnn2(){
console.log('函数2')
console.log('arguments',arguments) // 可以直接使用arguments接收apply中的参数
}
fnn1(fnn2) // 传递参数:fnn2函数, 它会在fnn1函数中的calllback执行;
// 打印结果 函数1, 函数2, arguments Arguments(3) [1, 2, 3, callee: ƒ, Symbol(Symbol.iterator): ƒ]
callback&&callback() 其实相当于是callback存在,就调取,不存在就不调取; if(callback){
callback()
}
function fnn1(callback){
console.log('函数1')
callback&&callback() // if(callback){ callback() }
}
function fnn2(){
console.log('函数2')
console.log('arguments',arguments) // 可以直接使用arguments接收apply中的参数
}
fnn1() // 函数1
fnn1(fnn2) // 函数1 函数2, argument[1,2,3]