第三章 新手的第一堂函數課:定義與參數

 

像普通人同樣編寫代碼和像「忍者」同樣編寫代碼的最大差異在因而否把 JavaScript 做爲函數式(functional language)來理解。對這一點的認知水平決定了你編寫的代碼水平。數組

 

一、函數是第一類對象瀏覽器

對象能作的任何一件事,函數也都能作。函數也是對象,惟一的特殊之處在於它是可調用的(invokable),即函數會被調用以便執行某項動做。函數

  • 經過字面量建立
  • 賦值給變量,數組項或其餘對象的屬性
  • 做爲函數的參數來傳遞
  • 做爲函數的返回值
  • 具備動態建立和分配的屬性

第一類對象的特色之一是,它可以做爲參數傳入函數。對於函數而言,這項特性也代表:若是咱們將某個函數做爲參數傳入另外一個函數,傳入函數會在應用程序執行的將來某個時間點才執行。你們所知道的更通常的概念是回調函數(callback function)。動畫

 

二、回調函數spa

每當咱們創建了一個將在隨後調用的函數時,不管是在事件處理階段經過瀏覽器仍是經過其餘代碼,咱們都是在創建一個回調(callback)。這個術語源自於這樣一個事實,即在執行過程當中,咱們創建的函數會被其餘函數在稍後的某個合適時間點「再回來調用」。對象

有效運用 JavaScript 的關鍵在於回調函數,相信你已經在代碼中使用了不少回調函數——不管是單擊一次按鈕、從服務端接收數據,仍是 UI 動畫的一部分。blog

如今讓咱們看一個回調函數的用法,它能極大地簡化集合的排序排序

  

 

三、函數做爲對象的樂趣——存儲函數、自記憶函數事件

相關文章
相關標籤/搜索