[Javascript]動態使用methods

陳漢庭
Oct 20, 2020

--

每次忘記怎麼動態使用都會回頭看flaviocopes,flaviocopes這篇文章很清楚講解如何動態呼叫函式。比起文章使用if, else的用法,我更喜歡用mapping的方式呼叫函式。

quokka

先不要看a, b, c是什麼function。利用First-class-citizen的特性,把a, b, c三個class指派給變數,接著使用functionList去動態的呼叫函式。圖中第10行實際上為 let functionList = (() => ({ a: a, b: b, c: c }))() 。我們使用functionList[<字串>]()動態呼叫函式。或者我們可以使用functionCallList[<字串>],在functionCallList裡面就直接call函式,以便用更優雅的呼叫函式。

動態呼叫

專案裡面很常使用下列第9行呼叫function的方式來做,當dynamicExec裡面值不一樣,呼叫的結果也不一樣。MemberCenterPageADMappingEnum, homePageADMappingEnum本身已經是函式執行的結果(IIFE),回傳的是Object。

--

--

陳漢庭
陳漢庭

Written by 陳漢庭

由於零散的紀錄過了一段時間之後就看不懂了,於是為了強迫自己用故事的方式記錄學到的東西,就開啟我的發文之路。

No responses yet