在认识js回调函数之前,首先要了解“函数也是一种数据类型”,它也可以像变量一样使用
1、var a = function(){console.log("function?a");}
2、function a(){console.log("function?a");}
以上两种函数定义方式最终效果是一样的
举个例子:
function a(){console.log("function a");}
var b = a;//此时将function a赋值给b
b();//执行b函数输出“function a”
delete a;//删除a
a();//undefined
回调函数:简单通俗点就是当有a和b两个函数,当a作为参数传给b,并在b中执行,这时a就是一个回调(callback)函数,如果a是一个匿名函数,则为匿名回调函数
在使用jquery时,经常会使用到回调,例如:
1、绑定事件
$("p").blur( function () { alert("Hello World!"); } );
$("p").click( function () { $(this).hide(); });
2、效果动作
$("p").show("fast",function(){
$(this).text("Animation Done!");
});
3、ajax操作
$("#feeds").load("feeds.php", {limit: 25}, function(){
alert("The last 25 entries in the feed have been loaded");
});
等等,还有很多,平时大家在使用时可以多注意下
那么如何自定义一个回调函数呢?
举个小例子:
想要执行一个加法运算操作,在加操作执行完毕,我们还想要将这个加的结果作一个2倍操作,并返回最终值
function double(data){return data*2;}
function add(a,b,double){var sum =?a+b; return double(sum);}