函数作为参数与回调函数---JS入门笔记
1. 函数作为参数
如题我们可以知道是将一个函数作为另一个函数的参数来使用,那么使用的方式有哪些呢?
例子1:直接将函数名作为参数,直接调用。
function test1(Func)
{
Func();
}
function test2()
{
alert("我是test2");
}
test1(test2);
说明:
这里test1有一个参数,这个参数是一个函数。再定义一个函数test2,这里直接将他作为test1的参数。
结果为:
例子2:定义一个调用以带参数的函数为参数的函数。
function test1(Func)
{
Func(mydata);
}
function test2(data)
{
alert(data);
}
test1(test2("带参数的函数,作为参数"));
说明:
这和例子1的区别就是作为参数的函数自身也带有参数,所以test1在使用test2的时候,给了他参数。
结果为:
例子3: 作为参数的函数不再单独定义
function test1(Func)
{
Func("hello");
}
test1(function(data)
{
alert(data);
});
说明:
作为参数的函数不再单独定义,而是在使用的时候,自己定义。这种比较适合作为参数的函数体比较简单的时候。
结果为:
2. 回调函数
我们知道js代码是顺序执行的,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数。
什么是回调函数?在认识js回调函数之前,首先要了解“函数也是一种数据类型”,它也可以像变量一样使用。就像前面学习的函数作为参数。
回调函数:简单通俗点就是当有a和b两个函数,当a作为参数传给b,并在b中执行,这时a就是一个回调(callback)函数,如果a是一个匿名函数,则为匿名回调函数。
回调函数是一个作为变量传递给另外一个函数的函数,它在主体函数执行完之后执行。
之后等我们学习更加深入,就会更加清楚回调函数,现在的我们不清楚也没关系,知道回调函数的概念就行啦。
注:本文来自 http://www.qianduandaxue.com/ 前端大学网整理编辑,更多资料,文章请点击“阅读原文”查看。欢迎评论提问投稿交流建议哦。