回调函数的概念,回调函数理解

前言回调函数作为我们经常用到的一种函数,看似复杂,实则很容易理解,下面让我来带你一步步理解回调函数。详解我们先来看一个我们最熟悉的普通函数的定义与调用。func

前言

回调函数是常见的函数,但其实很容易理解。

详解

首先我们看一下我们最熟悉的普通函数的定义和调用。

函数映射(c) { console.log(c);}map(5);

这是最常见的函数,定义此函数时必须指定方法并传递变量。

接下来,换个思路,为函数指定变量,并在传递方法时将方法b 设置为形参。

var map=function (b) { b(4);} 现在我们知道调用函数map时需要传递方法,我们按照定义传递方法。

map( function(a) { console.log(a);} ); 目前,这个方法也被称为匿名函数,所以如果你在这里调用map方法,你可以命名它。缩写为

地图((a)={ console.log(a);});56ea2d9b69154ae9b3a083280d92833e~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717892428&x-signature=U7ubXm9jgK9aPX1YU5O5NI2c0Aw%3D

当你打印4时,红框中的内容就是你传递的参数,它只是一个函数。也就是说,红框里面的内容就等于上面的形参b。如果使用红框中的函数替换b,您将得到console.log(4)。

二次回调函数

我们来看一个二次回调的例子

前面,我们在定义函数时指定变量是常量,但是如果我们用匿名函数替换这个常量会发生什么呢?

var map=function (b){ b( (a)={ console.log(a); } );}; 可以看到4已经被替换成了函数,但是map方法怎么调用呢?

换个角度思考,你可以认为当你调用函数映射时,你需要传递一个参数,并且该参数已经存在于b 中,但你缺少一个变量。回调函数如上所述。在函数部分,此时我们传递定义变量的方法。参数是方法。这对应于回调函数的函数定义部分。

map( function (e) { e(6);} ); 缩写为map( (e)={e(6);} );

fa1a4638a57b4b96b2b778b2e086ebe1~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1717892428&x-signature=Sqbqqg69%2B7rwkqgmPpN2xcS61Xk%3D

此时,即使替换掉b后,红框内的内容也和上面的形参b是等价的,而替换掉e后,也只剩下了蓝框内的一项内容。最终要表达的打印方法console.log(6);

总结

基于二次回调函数的思想,可以无限回调。但是,您很少使用多个回调函数。

你需要扎实掌握基础知识才能理解整个代码。

原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/87173.html

(0)
小条的头像小条
上一篇 2024年6月2日 上午8:20
下一篇 2024年6月2日 上午8:20

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注