JS中的callback

作者 : 开心源码 本文共831个字,预计阅读时间需要3分钟 发布时间: 2022-05-11 共112人阅读

JS中的callback

代码的世界

将一个函数当作参数传给另一个函数,被传的函数叫做回调函数,主要的使用意就是当主函数完成后再去执行回调函数。传统函数以参数形式输入数据,并且用返回语句返回值。理论上,在函数结尾处有一个return返回语句,结构上就是:一个输入点和一个输出点。这比较容易了解,函数本质上就是输入和输出之间实现过程的映射。  但是,当函数的实现过程非常漫长,你是选择等待函数完成解决,还是用回调函数进行异步解决呢?这种情况下,用回调函数变得至关重要,例如:AJAX请求。若是用回调函数进行解决,代码即可以继续进行其余任务,而无需空等。callback是回调函数。函数有call和apply方法。能在函数执行时动态的绑定上下文。函数的上下文主要影响函数中的this对象。

正常情况下this对象是根据运行上下文自动指定的。但是使用call方法或者者apply方法能手动设置上下文。相当于能随便调整函数中的this对象指向谁。

如:

function f1(f2) { alert(“我是f1”); if (f2 && typeof(f2) === “function”) { settimeOut(function(){f2()},1000) ;//f1执行1s后f2执行 } alert(“我又是f1 哈哈”);}

调使用执行f1(function(){ alert(“我是f2”);})

或者这样调使用function f2(){alert(“我是f2”);}f1(f2);

//结果:我是f1 ,我是f2,我又是1 哈哈

另一例子

function fn(arg1, arg2, callback){

var num = Math.ceil(Math.random() * (arg1 – arg2) + arg2);

callback(num);  //传递结果

}

fn(10, 20, function(num){

console.log(“Callback called! Num: ” + num);

});    //结果为10和20之间的随机数

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » JS中的callback

发表回复