JS中什么是回调函数? 您所在的位置:网站首页 什么叫做回调 JS中什么是回调函数?

JS中什么是回调函数?

2024-07-09 21:43| 来源: 网络整理| 查看: 265

对于刚学JS的初学者来说(包括我现在的自己),对于这个回调函数真的是踩坑无数,于是乎想作为一个淋过雨的人,想为后面刚入门的人打一把伞。

本文不会用专业的知识词汇,只会用口语来简单让你有一个概念帮你浅浅的理解这个名词,如果你是一个学习JS刚遇到这个名词,正处于一脸懵逼的状态,那么本文对于会有帮助,但如果你想要研究更深层次的原理,用法和含义,可能本文不适合你。

废话不多说,让我们先看MDN的解释。

这段话,首先我们要搞懂一个东西,什么是实参。

我们都知道,函数可以接受参数,形参和实参。那么什么是形参呢?

相信大家已经在无数网站看到过无数过这个例子了,计算两个数字的和,但是丝毫不影响它的经典简单易懂。

那么当你在定义这个函数的时候,A,B就是形参。参数可以拿来用,你也可以不用。形   参,形式上的参数,并没有实际意义,只是帮你完成函数内部逻辑运算而设置的。

那么什么是实参呢?

还是这段代码,当你调用函数的时候,这个1,2就是实参。

对于刚入门的你可以暂不深究,你可以这样简单的理解。

OK,那么我们回过头来研究我们的标题内容:什么是回调函数。

 

 说人话就是, 一个函数A,作为另一个函数B的参数,那么函数A就被称为回调函数。

对,回调函数A就是一个普普通通的函数,它被其他函数B作为参数在B的内部调用,那么在这个时候A才能被称为B的回调函数。

回调函数这个概念是相互的,一个单独的函数是无法叫做回调函数的,它只能被称为XXX(被谁在内部调用)的回调函数。我相信大部分人都是迷惑在这里了。我们再举一个栗子。

 我们经常会在教程视频中听到setTimeout函数的解释是这样的,setTImeout接收一个回调函数作为参数........确实这句话对于刚开始学习到这一步的我真的是一脸懵逼,什么是回调函数?我去,之前怎么没遇到过,什么玩意啊?

大家不要忘了setTimeout本身就是一个函数,它就是我们刚刚在上面说的函数B,那么函数A就是这个东西:

所以这句话正确的语意应该是:setTimeout作为一个函数B,它接收另一个函数A作为它的参数来使用。设计者想了想,这样说好像 太麻烦,于是就把函数A叫做回调函数。(函数A叫做函数B的回调函数!!!)

补充:有一些萌新会有一个误区,箭头函数就是回调函数,

如setTimeout(()=>{A+B}),1000) ;

 

是,这里箭头函数在这里确实是一个回调函数,但是你别忘了箭头函数也是一个普普通通的函数,它只不过是函数的一种简写,千万不要见到箭头函数就说它是回调,首先你得看调用它的是不是也是一个函数,它是不是作为了一个函数的参数!!!千万要走出这个概念。

本人也是初次学习JS,仅代表个人意见,如有错误,还望各位大佬指教,我定虚心改正。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有