Build a couter using JavaScript
JavaScript 五個步驟製作計數器
前言
解題
第一步:製作介面
先定義一個 counter
區塊,裡面有顯示目前數字與裝載三個按鈕的容器buttonGroup
,其內容包涵「減、歸零、加」等按鈕。
第二步:選取畫面元素
使用前面定義好的 id
屬性來選取各個 DOM 元素(使用 getElementById🔗 方法),並且儲存於變數中。
第三步:將資料打印到畫面上
目前畫面中 counterDisplay
內是沒有任何內容的,所以可以先定義好一筆資料再把該資料渲染到畫面中;由於「渲染資料到畫面中」是重複性極高的動作,可以將其獨立為一個函式之後有需要時再呼叫。
第四步:監聽事件
目前資料已經可以正確的顯示在畫面上,但是按鈕還沒有任何功能,所以接下來要做的就是監聽按鈕的點擊事件,並且在點擊時執行對應的函式;使用 eventListener🔗 監聽「點擊」事件。
換句話說,也可以用一個 eventListener
達成 3 個 eventListener
所做的事,只要檢查其容器點擊時,被點擊的事件的對象的 id (e.target.id) 名稱是什麼並比對做出對應的行為即可。
第五步:操縱資料
接下來就是要實作各個按鈕的功能,這邊先定義好三個函式,分別是「加、減、重製」。
結語
從這個簡單的練習中,我們分離了資料與邏輯,這樣的切割方式可以更容易的維護程式碼,也可以讓其他開發者更容易閱讀與改動。
這是一個簡單的範例,但背後可以思考與改善的事情仍然很多,像是:如何讓程式「可以被重複利用?」、「如何讓程式可被預測與測試?」……等,這些問題都是值得思考的。
See the Pen Counter by Riceball (
@riecball) on CodePen.