回调函数(callback)理解

回调函数(callback)

什么是回调函数

 概念:

        当一个函数作为参数传入另一个函数中,并且它不会立即执行,只有当满足一定条件后该函数才可以执行,这种函数就称为回调函数

  1. 把A函数当作一个参数传到B函数中,当需要使用B函数时,在回调运行A函数
  2. 理解:把函数当作参数传给另一个函数中,称为回调函数
//定义一个A函数
function a(num) {
	console.log(num);
}
//定义一个B函数
function b(num1,num2,callback) {
  var num = num1+num2;
  callback(num);//调用了a函数,实现了打印num值的方法
}
//调用B函数
b(10,20,a)//将a函数作为b函数的第三个参数,这里调用a函数的时候,不用加(),不然会报错
//最后的结果为
30//将10+20的结果值打印出来

特点

  1. 不会立即执行
    1. 回调函数作为参数传递给一个函数的时候,传递的只是函数的定义并不会立即执行。和普通的函数一样,回调函数在调用函数数中也要通过()运算符调用才会执行
  1. 回调函数是一个闭包
    1. 回调函数是一个闭包,也就是说它能访问到其外层定义的变量。
    2. 上面函数b中的callback方法时,就是将num值作为参数传递给callback方法的
  1. 回调函数调用时this的执行上下文并不是回调函数定义时的那个上下文,而是调用它的函数所在的上下文

为什么要用到回调函数

  1. javascript是时间驱动的语言,javascript不会因为要等待一个响应而停止当前的运行,而是在监听其他事件时继续执行
      	function first() {
            console.log(1);
        }
 
        function second() {
            console.log(2);
        }
 
        first();//1,这个先执行
        second();//2,这个后执行
      	最后的结果为 1 2

	//将上面的函数小小的改动
  			function first() {
   	         // 模拟代码延迟
            setTimeout(function () {  //所以function(){console.log(1)}是回调函数
                console.log(1);
            }, 500);
        }
 
        function second() {
            console.log(2);
        }
        first();//1,这个后执行
        second();//2,这个先执行
    	最后的结果为 2 1
//而是 JavaScript 在继续向下执行 second() 之前没有等待 first() 响应的问题。
//回调正是确保一段代码执行完毕之后再执行另一段代码的方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

꧁惜若༒奔已꧂

争取做到更好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值