理解JavaScript中回调函数的使用
首先要理解function 对象,在JavaScript中function和array object,number一样作为一个对象,因此function也可以像普通对象一样可以作为一个参数传递个另一个函数;
function parentF(callback){//callback可以任意定义名称,它只是个参数,此时并不能确定callback的类型(是number,object,function都不确定)
var a=1;
var b=2; console.log("parent"); return callback(a,b);
}
function childF(a,b){ console.log("child"); return a+b;
}
window.onload=function (){
var result= parentF(childF); console.log(result); }
输出结果:
parent
child
3
以上是一个简单的回调函数。
使用function非继承的方法 call(),apply;
call()
function fn(a,b){
return a*b;
}
function fns(a,b){
return fn.call(this,a,b);
} window.onload=function(){ console.log(fns(10,11)); }
apply();
function fn(a,b){
return a*b;
}
function fns(a,b){
return fn.apply(this,[a,b]);
}
function fns1(a,b){
return fn.apply(this,arguments);
} window.onload=function(){ console.log(fns(10,11));
console.log(fns1(10,11)); }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步