函數(shù)式反應(yīng)型編程指的是兩個聲明式編程的子范例(函數(shù)式+反應(yīng)式)的組合?,F(xiàn)在w3cschool小編先帶大家來理解一下反應(yīng)式編程,因為它是整個編程最基礎(chǔ)的也是最簡單的!
反應(yīng)式編程在表處理方面十分強悍。假設(shè)我們有一個表格A:她是用來紀(jì)錄其他兩個表格(表格B、表格C)的和。當(dāng)表格B或C當(dāng)中任意一個值發(fā)現(xiàn)變化時,這些變化都會通過表實時改變表格A的值??傊覀兌x好了A是B和C的和,不管發(fā)生了什么,A會一直響應(yīng)B或C的變化,永遠(yuǎn)都是B與C的和。
接下來我們來定義函數(shù)式編程。說實話很難準(zhǔn)確定義它。任何試圖通過Google這個詞來了解它的人都會得到這樣一個答案:函數(shù)范式是一個框架,可以用來構(gòu)建我們的程序。函數(shù)式編程的核心是:在你的開發(fā)語言中函數(shù)本身是一個對象,且是所有類對象中的一等公民。
函數(shù)式編程中,對于同樣的輸入,一個函數(shù)f始終會給出同樣的輸出,不存在'可變的狀態(tài)'。這聽起來有點不可思議,我們可都是依靠狀態(tài)的多變性來編寫程序啊。在這個給變量賦值之后就不可以重新賦值的世界里,想想都覺得不可思議。函數(shù)式編程在很多方面顯得不太實用。很多編程涉及到用戶的輸入、網(wǎng)絡(luò)輸入/輸出等等,都不太容易使用函數(shù)范式來構(gòu)建。這也是為什么函數(shù)式編程作為函數(shù)式反應(yīng)型編程的一部分而出現(xiàn)的原因。因為函數(shù)式反應(yīng)型編程是命令行編程與函數(shù)式編程兩者相互妥協(xié)的最佳平衡點。她讓我們有魚與熊掌兼得的意思。
函數(shù)式反應(yīng)型編程在處理用戶輸入時,就像是隨著時間的改變而改變其結(jié)果的函數(shù)。有鑒于此,前面我們談到的函數(shù)f,被假定為輸入相同的參數(shù)就會返回一樣的值,但如果參數(shù)是時間,則f就不會返回相同的值,因為時間一直在變化。這是一種‘欺騙’行為,但請記住,我們正在構(gòu)建一個框架,在這個框架里面,我們都被允許實施這種'欺騙'行為,這就是函數(shù)式反應(yīng)型編程。
更多建議: