继续创造,加快成长!这是我参加「日新方案 10 月更文应战」的第8天,点击检查活动详情

你真的知道回调函数吗?

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函数内部调用回调函数了。

总结

回调函数便是作为实参传入一个函数,并在被传入的这个函数里边完成自己函数的功用。