JavaScript 回調(callback)函數

來源:互聯網
上載者:User

此文適合JavaScript入門級選手閱讀,高手就可以飄過了。

先扯點閑話。在中國,有這麼一種現象:不管什麼詞或者概念,總會有些人把這些東西解釋的神乎其神,貌似搞得別人聽不懂就覺得自己很厲害的樣子。其實不知道有多2。我個人比較崇尚簡潔明了。什麼詞,什麼概念,如果你能用簡短的一兩句話讓大家聽明白,這才是本事。好了,閑話不扯了,進入正題。

在JavaScript裡什麼叫Callback“回呼函數”,用我的話來講就是把方法b當做一個參數傳遞個方法a,當方法a執行完後執行另外一個指定函數(這裡是b函數)。來看個列子:

<html>       <head>      <title>Callback function test</title> <script language="javascript" type="text/javascript"> function main(callback) {    alert("I am main function"); alert("Invoke callback function.."); callback(); } function b(){ alert("I am callback function: b"); } function c(){ alert("I am callback function: c"); }  function test() { main(b); main(c); }  </script>     </head>          <body> <button onClick="test()">click me</button>     </body> </html> 

這裡面main(b),那麼b就稱作回呼函數,是不是很好理解?那有人會說我為什麼不可以把b的調用放到main函數裡呢?確實可以,但是那樣你的main方法就只能調用b了。這裡我們將b傳遞個main,或者a傳遞個main,那main裡面的callback方法就是動態回呼函數。優點就在這裡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.