[JS]回调函数例子

19 篇文章 0 订阅
6 篇文章 0 订阅

回调函数

回调函数是一段可执行的代码段,它作为一个参数传递给其他的代码,其作用是在需要的时候方便调用这段(回调函数)代码

js中函数=对象,对象可以作为参数传给函数。
函数可以作为参数给一个函数,这个参数就是回调函数

使用

例子1

回调函数是异步操作最基本的方法。

下面是两个函数f1和f2,编程的意图是f2必须等到f1执行完成,才能执行。如果f1是异步操作,f2会立即执行,不会等到f1结束再执行。

function f1() {
}

function f2() {
}
f1();
f2();

改写回调

function f1(callback) {
  callback();
}

function f2() {
}

f1(f2);

例子2

function add(num1, num2, callback){
	var sum = num1 + num2;
	callback(sum);
}

function print(num){
	console.log(num);
}

add(1, 2, print);		//=>3

例子3

匿名回调函数

function add(num1, num2, callback){
	var sum = num1 + num2;
	callback(sum);
}

add(1, 2, function(sum){
	console.log(sum);		//=>3
});

回调函数优缺点

  • 优点是简单、容易理解和实现
  • 缺点是不利于代码的阅读和维护,各个部分之间高度耦合(coupling),使得程序结构混乱、流程难以追踪(尤其是多个回调函数嵌套的情况),而且每个任务只能指定一个回调函数。

使用场景

  • 异步编程
  • 事件监听、处理
  • setTimeout、setInterval方法

参考链接

https://javascript.ruanyifeng.com/advanced/single-thread.html#toc2
https://www.w3cplus.com/javascript/Sexy-Javascript-understand-the-callback-function-with-the-use-of-Javascript-in.html

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值