Java發展的重大事故
阿新 • • 發佈:2021-11-13
高階函式
高階函式的特點:
1、定義的高階函式本身的實現 ;
2、定義了參量函式的介面:輸入、輸出;
3、定義了高階函式的功能部分對輸入函式的引用或使用方式。
語義:定義高階函式並宣告混入函式的介面
本質是暴露低階函式的介面給高階函式使用;
map():map()作為高階函式,事實上它把運算規則抽象了,因此,我們不但可以計算簡單的f(x)=x2,還可以計算任意複雜的函式。
reduce():Array的reduce()把一個函式作用在這個Array的[x1, x2, x3...]上,這個函式必須接收兩個引數,reduce()把結果繼續和序列的下一個元素做累積計算,
回撥地獄
回撥地獄的原因是,當人們試圖以一種從上到下的視覺方式執行JavaScript的方式編寫JavaScript時。很多人犯這個錯誤!在C,Ruby或Python等其他語言中,期望第1行發生的任何事情都會在第2行的程式碼開始執行之前完成,依此類推。正如你將會學到的,JavaScript是不同的
什麼是回撥函式?
回撥只是使用JavaScript函式的慣例的名稱。 JavaScript語言中沒有特別的東西叫做“回撥”,它只是一個約定。不像大多數函式那樣立即返回一些結果,使用回撥函式需要一些時間來產生結果。 “非同步”這個詞,又名“非同步”,意思是“需要一些時間”或“將來會發生,而不是現在”。通常回調僅在進行I / O時使用,例如下載東西,閱讀檔案,與資料庫互動等