函式是「是第一公民」指的是,和其他資料型別一樣,有相同的地位。可以賦值給其他的值,也可以當引數傳遞給函式,或者作為別的函式的返回值。
舉個函式式程式設計的例子,sort函式,就是典型的函式式程式設計
var t = [2,33,22,123,433,233];
console.log(t.sort()); //不傳引數
如果想從小到大排序呢,就需要給sort傳乙個引數,用來判斷和排序
函式式程式設計還有陣列的map方法。map可以接收乙個函式function當作引數,並返回新陣列,function函式有三個引數,item當前的選項,index當前的下標,array當前的陣列。
demo 陣列裡每一項都* 2,並拿到新的陣列(不會改變之前的陣列)
var t = [1,2,3,4];
var m = t.map(function(item,index,array))
console.log(m);
函式式程式設計還有foreach ,和map方法很相似,也是接收乙個函式作為引數,該函式接收三個引數,item 本身項,index 下標,array陣列物件本身。(ps foreaech返回值是undefined,map的返回值是乙個新陣列。)列印一下foreach拿到的值
var t = ['臥槽', 2, true, function(){}];
foreach的返回值是undefined
函式式程式設計常用的幾個,jq的核心入口就是使用了函式式程式設計來實現的。真實場景中用到的函式式程式設計還是很多的,以後我也會多多觀察 多多記錄。
jquery的入口函式與js入口函式的區別
js window.onload function jquery docunment ready 或者 function 區別 window.onload 只有乙個入口函式,如果存在多個函式,前面會被後面覆蓋。jquery可以有多個入口函式,不會被覆蓋 執行機制不同 一般而言jquery入口函式要快...
python函式式程式設計模式 什麼是函式式程式設計思維?
函式式程式設計與命令式程式設計最大的不同其實在於 函式式程式設計關心資料的對映,命令式程式設計關心解決問題的步驟 這裡的對映就是數學上 函式 的概念 一種東西和另一種東西之間的對應關係。這也是為什麼 函式式程式設計 叫做 函式 式程式設計。這是什麼意思呢?假如,現在你來到 google 面試,面試官...
map, reduce和filter(函式式程式設計)
map可以用於對可遍歷結構的每個元素執行同樣的操作,批量操作 map lambda x x 2,1,2,3,4 1,4,9,16 map lambda x,y x y,1,2,3 5,6,7 6,8,10 在python3種輸出上述結果 result1 list map lambda x x 2,1...