js中的回调函数

Posted 无所不能的风

tags:

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

如何理解回调函数,这个地方我是反复看反复的不会

今天又看到arr中的forEach方法,又上网查了一遍资料

首先来看一下网上有个回调函数的例子

        function getData(callback){
            setInterval(function(){
                var info = {
                    name:xu,
                    id:1
                }
                callback(info)
            },1000)
        }
        function check(data){
            if(data.id == 1){
                console.log(恭喜你!验证成功)
            }
        }

        getData(check)

我先来解释一下上面的代码意思(仅供参考,有不对地方请指正)

在解释之前我要说一下什么是函数的调用

函数名加括号:fn() 这就是函数的调用 如果括号里有参数的话,我们叫他形参

接着上面例子讲。在不看参数的情况下上面有2个函数,都是属于函数的声明

分别是:getData()和check()

getData里有个定时器,每隔一秒创建一个对象info,info里有name和id属性,还有1个函数的调用

check里有个判断,获得形参的id属性和1进行比较,如果是true,就在控制台打印console.log(‘恭喜你!验证成功‘)

当我们真正调用时执行的步骤如下:

先是执行getData函数,里有个定时器,每隔一秒创建一个对象info,info里有name和id属性

然后执行到callback(info),这里是将刚才执行到getData函数中的参数check拿来替换callback 变成check(info)

这里就是函数的调用,将info的实参替换data的形参,并去判断id属性值是不是1,真返回console.log(‘恭喜你!验证成功‘),false不做判断

至于那个forEach还在理解当中....

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

理解 JS 回调函数中的 this

js中的回调函数

js中的回调函数的理解和使用方法

关于js中的回调函数callback,通俗易懂

依次执行自定义函数——Vue.js中的回调逻辑

jquery中的回调函数怎么用