什么是回调函数

先说这么一个例子,你去店里买东西,店员告诉你卖光了,你在那里留了个电话要求他们上货之后立刻通知你,三天后店员电话通知了你,你买到了商品.在这个例子中,手机号便是回调函数,预留手机号便是注册回调函数,如果你没有预留电话号,那么你这三天内需要不断的跑来跑去直到商店进了新商品才结束,很麻烦. 首先要了解的是,在 js 中,函数也是对象,可以赋值给变量,可以作为参数放在函数的参数列表中.比如: var fun = function(a ,b ){ //this is a js function return a+b; } 这段代码的意思是一个带有两个参数的匿名函数,将函数赋值为变量fun,接下来我们调用它: console.log(fun(2.3)); 这样回输出5. 在js中,同样可以将函数作为参数形式传入另一个函数,如
var doit = function(callback)
{
    var a = 1,
        b = 2,
        c = 3;
    var t = callback(a,b,c);
    return t + 10;
};
var d = doit(function(x,y,z){
    return (x+y+z);
});
console.log(d);
首先,定义了匿名函数并命名为doit,参数为callback,由代码第四行可知参数是一个函数,且方法体未知.并将该方法的返回值赋给t,返回t+10. 接下来我们看看如何调用该函数呢,将匿名函数带入,并将返回值赋给d,故而最后输出值为x+y+z+10. 由此来看,js可以将函数作为参数、作为变量来使用.
posted @ 2018-08-04 14:19  zohy  阅读(115)  评论(0编辑  收藏  举报