- Live軟件開發面面談
- 潘俊編著
- 319字
- 2019-07-30 17:55:04
2.5 JavaScript中的事件編程
事件編程不僅限于Java和C#這樣的靜態語言,JavaScript就是以事件驅動編程聞名的動態弱類型語言。如果不對沒有類型檢查(和IDE的輸入提示)感到不舒服,JavaScript的動態弱類型和方便函數式編程的性質可以讓代碼極為通用、簡潔和靈活。下面是JavaScript實現自定義事件編程的一種途徑。

將任何對象傳遞給eventify函數,返回的對象就具備了發布事件的能力。添加和刪除收聽者的方法分別為addListener和removeListener,觸發事件的方法為fireEvent。收聽者不再是對象,而僅是一個函數。從發布者傳遞給收聽者的事件信息對象event有兩個屬性type和target,分別為事件的名稱和發布者。另外也可以直接在收聽者內用this關鍵字獲取發布者。下面是應用上述函數的一個簡單例子。person自定義對象從eventify方法返回后聲明了一個hunger事件,收聽者在瀏覽器的控制臺打印出I'm hungery。
