#yyds干货盘点#js中回调函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#js中回调函数相关的知识,希望对你有一定的参考价值。

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

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


以上是关于#yyds干货盘点#js中回调函数的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#这一次,彻底搞懂Promise

#yyds干货盘点#three.js源码解读-EventDispatcher

#yyds干货盘点#JS函数式编程:柯里化

#yyds干货盘点#愚公系列2022年10月 微信小程序-应用生命周期和全局变量

#yyds干货盘点#今天聊聊JS的Function

#yyds干货盘点#前端内存泄露问题