JS中的callback

  • 时间:2018-06-06 01:46 作者:沃普号 来源:沃普号 阅读:172
  • 扫一扫,手机访问
摘要:代码的世界将一个函数当作参数传给另一个函数,被传的函数叫做回调函数,主要的使用意就是当主函数完成后再去执行回调函数。传统函数以参数形式输入数据,并且用返回语句返回值。理论上,在函数结尾处有一个return返回语句,结构上就是:一个输入点和一个输出点。这比较容易了解,函数本质上就是输入和输出之间实现过

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之间的随机数

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】淘码库,据消息称已被调查。淘码库源码网,已经无法访问!(2020-01-14 04:13)
【系统环境|服务器应用】Discuz隐藏后台admin.php网址修改路径(2019-12-16 16:48)
【系统环境|服务器应用】2020新网站如何让百度快速收录网站首页最新方法,亲测有用!免费(2019-12-16 16:46)
【系统环境|服务器应用】Discuz发布帖子时默认显示第一个主题分类的修改方法(2019-12-09 00:13)
【系统环境|软件环境】Android | App内存优化 之 内存泄漏 要点概述 以及 处理实战(2019-12-04 14:27)
【系统环境|软件环境】MySQL InnoDB 事务(2019-12-04 14:26)
【系统环境|软件环境】vue-router(单页面应用控制中心)常见用法(2019-12-04 14:26)
【系统环境|软件环境】Linux中的Kill命令(2019-12-04 14:26)
【系统环境|软件环境】Linux 入门时必学60个文件解决命令(2019-12-04 14:26)
【系统环境|软件环境】更新版ThreeJS 3D粒子波浪动画(2019-12-04 14:26)
手机二维码手机访问领取大礼包
返回顶部