JavaScript迴圈
約3分鐘風格
最近在Udemy上學JavaScript,作了一個迴圈的小小練習,這個練習是這樣的,像facebook一樣,先設定三個使用者,三個人都有打卡的資料。
如果使用者輸入正確帳號密碼,就可以看到大家打卡動態;如果不正確,就會顯示錯誤。所以我需要用迴圈判斷登入的人符合哪筆資料裡使用者名字,並判斷密碼是否正確。
輸入的帳號和密碼正確,我們就可以看到:
David Lau:常以洽公之名,行大吃大喝之實,打卡的照片都放在一個相簿「一切都是為了生活」。
Neil Tzeng:不常打卡,最近週年慶時買了一台洗碗機,結果過山一個多月找不到師傅來裝,裝好了的話應該要打個卡吧。
Micheal Lin:被新創公司挖腳飛黃騰達了,回台時間很珍貴,不能被打擾,所以應該打個卡跟大家說現在不在台灣。
其實,我一開始想用最常用的for迴圈來判斷使用者姓名和密碼,但是想到要再設計怎麼讓姓名對應時跳出迴圈不再檢查下去,似乎比較麻煩,所以就改用while迴圈來做。
後來看老師的做法,他把for迴圈放在function裡,利用function的return來回傳值,並跳出迴圈,學到一個return一個基本而重要的小技巧。
摘要一下關於JavaScript迴圈的心得:
- 交朋友要小心,不然會被拿去當寫code練習的例子。
- JavaScript常用迴圈共有四種:for、while、do while、for each。
- for的優點:最常用,計數方式可以直接寫在參數的地方。
- while的優點:無線迴圈直到不符合條件才跳出,可以不用寫計數方式。
- do while:無論如何都會做第一次時可以用。
- forEach:會用到list時,用forEach最快,這個方法的parameter一定是一個function,而這個function的第一個parameter就是list的值,第二個parameter就是list的位置。
- 善用function和return來跳出迴圈。
facebook的迴圈練習程式碼:
https://github.com/yellowful/yellowful.github.io/tree/master/fromZeroToMastery/JavaScript/facebook
其它迴圈練習的程式碼:
https://github.com/yellowful/yellowful.github.io/tree/master/fromZeroToMastery/JavaScript/loops