老师可以讲讲回调函数吗?

来源:2-5 用css3实现淡入淡出效果(2)

hyperse

2019-07-04 15:49:41

就比如说

function hide($elem,callback){

if($elem.data('status')==='hide') return;

if($elem.data('status')==='hidden') return;

$elem.data('status','hide').trigger('hide');

callback();

}



var silent = {

init:init,

show:function($elem){

show($elem,function(){

$elem.show();

$elem.data('status','shown').trigger('shown');

});

},

hide:function($elem){

hide($elem,function(){

$elem.hide();

$elem.data('status','hidden').trigger('hidden');

});

}

};


写回答

3回答

好帮手慕慕子

2019-07-04

同学你好,回调函数就是一个参数,将这个函数作为参数传到另一个函数里面调用。

老师这里先给同举个简单的例子帮助同学理解什么是回调函数。 回调,回调,就是回头调用的意思。主函数的事先干完,回头再调用传进来的那个函数。示例:

http://img.mukewang.com/climg/5d1dbb1600017a6b07830484.jpg

上面的代码中,我们先定义了主函数和回调函数,然后再去调用主函数,将回调函数传进去。定义主函数的时候,我们让代码先去执行callback()回调函数,但输出结果却是后输出回调函数的内容

现在我们再来结合同学粘贴的代码来梳理一下代码的流程,帮助同学理解

1.在hide函数中传入了一个回调函数作为参数, 并在该函数中调用了

http://img.mukewang.com/climg/5d1db9ba000154f007410257.jpg

2. 在下面对象的方法中调用了函数hide, 并传入了一个函数作为回调函数可以在hide中执行, 对应关系如下图所示

http://img.mukewang.com/climg/5d1dba9400018af309000595.jpg

这一块确实比较抽象不好理解, 同学目前只需要了解如何使用就可以了, 等练习的多了, 熟练了在返回来看这一块的知识点就比较好理解了

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~


1

你好大猫

2019-07-04

刚开始接触回调函数 你可以把它理解成一个后执行的函数。例如setTimeout(A:回调函数,延迟时间);

先是执行了setTimeout这个函数,传入了参数A,间隔了一段时间后执行了A,你这样敲几遍 ,熟了自然就通了   不行再问也可以

1

你好大猫

2019-07-04

http://img.mukewang.com/climg/5d1dbc0800016d5308330865.jpg

你这个例子我用颜色标注出来了   依次执行蓝色 红色 绿色    迷糊了再问

0

0 学习 · 14456 问题

查看课程