天天看点

jquery回调函数

1、回调函数:函数callback以参数形式传给另一函数的,那么函数callback就叫回调函数。

2、为什么需要回调函数?

灵活!!

也许有人有疑问了:一定要以参数形式传过去吗,我不可以直接在函数main里面调用函数callback吗?

可以。但:

如果你直接在函数main里调用的话,那么这个回调函数就被限制死了。但是使用函数做参数就有下面的好处:当你main(callback1)的时候函数callback1就成了回调函数,而你还可以main(callback2)这个时候,函数callback2就成了回调函数。如果你写成了function main(){...;callback1();}就失去了变量的灵活性。

例如:

<html> 
<head> 
<title>回调函数(callback)</title> 
<script language="javascript" type="text/javascript"> 
function main(callback) 
{    
    alert("我是parent函数main!"); 
    alert("调用回调函数"); 
    callback(); 
} 
function <span style="color: rgb(102, 102, 102); font-family: 宋体, 'Arial Narrow', arial, serif;font-size:18px; line-height: 28px;">callback1</span>(){ 
alert("我是回调函数<span style="color: rgb(102, 102, 102); font-family: 宋体, 'Arial Narrow', arial, serif;font-size:18px; line-height: 28px;">callback1</span>"); 
} 
function <span style="color: rgb(102, 102, 102); font-family: 宋体, 'Arial Narrow', arial, serif;font-size:18px; line-height: 28px;">callback2</span>(){ 
alert("我是回调函数<span style="color: rgb(102, 102, 102); font-family: 宋体, 'Arial Narrow', arial, serif;font-size:18px; line-height: 28px;">callback2</span>"); 
} 
 
function test() 
{ 
   main(<span style="color: rgb(102, 102, 102); font-family: 宋体, 'Arial Narrow', arial, serif;font-size:18px; line-height: 28px;">callback1</span>); 
   main(<span style="color: rgb(102, 102, 102); font-family: 宋体, 'Arial Narrow', arial, serif;font-size:18px; line-height: 28px;">callback2</span>); 
} 
 
</script> 
</head> 
 
<body> 
<h1>学习js回调函数</h1> 
<button onClick=test()>click me</button> 
<p>应该能看到调用了两个回调函数</p> 
</body> 
 
</html> 
           

继续阅读