天天看點

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> 
           

繼續閱讀