浅析js中回调函数(通俗易懂)

你真的知道回调函数吗?

在JavaScript中,回调函数是非常重要的概念,但是对于初学者来说,理解回调函数比较困难,本文将会带你了解回调函数。

什么是回调函数?

简单来说:一个被当做参数的函数,就叫做回调函数。

在JavaScript中,所有的函数都是对象,所以函数也可以作为参数传递给另一个函数。

在MDN的解释中是这样吗说的:被作为一种实参传入另一个函数中,并且在该外部函数内被调用,来完成某些任务,这样的函数就是回调函数。

在MDN的定义中,有以下几点可能比较难以理解:

  1. 什么是实参
  2. 在该外部函数内调用是什么意思

接下来我将解释这两点问题

什么是实参

在JavaScript函数中,我们定义函数时括号里面的那几个参数就叫做形参,而我们调用函数时,所传入的参数就叫做实参。

    function add(a, b) { **
      return a + b;
    }

    add(1, 2); // 3
复制代码

这段代码中的a,b就是形参,在**这一行,此时的a,b没有实际的值,它存在的意义就是定义变量,将调用函数时传入的参数带入函数内部运算。

当我们调用函数时,传入的参数就是实参,实参的值会被赋值给形参,然后在函数内部运算。

在该外部函数内调用是什么意思

我们假设回调函数为A,调用回调函数的函数为B,此时A作为参数传入B,那么B相对于A就是一个外部函数,然后A函数作为参数传入B之后,完成自己的任务后结束。这就是回调函数的使命。

回调函数有什么作用

在js中有很多第三方函数,可以帮助我们快速完成任务,但是很多第三方函数我们却不能随意更改他们的内部实现代码,比如forEach,但是有了回调函数,我们就可以将自己写的函数,作为实参传入第三方函数,从而达到改变或者增加第三方函数功能的目的。

回调函数的使用

举个例子

    setTimeout(function() {
      console.log('hello world');
    }, 1000);
复制代码

上面代码中,我们直接将回调函数写在了setTimeout函数的参数中,这样就可以在setTimeout函数内部调用回调函数了。

总结

回调函数就是作为实参传入一个函数,并在被传入的这个函数里面实现自己函数的功能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码云笔记

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值