元帥♀大叔♂愛♥
@hildegardtschen
sagt
Thu, Oct 22, 2020 5:42 AM
1
JS
今天的隨堂測驗比較難!閏年判定器!
逃亡計畫
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 5:42 AM
好幾個if...else判斷迴圈!
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 5:45 AM
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 5:45 AM
第一次寫這種if套if (其實以前玩excel也做過 但換一種表達方式就有點文法困難XD)
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:06 AM
還有如何美化那些括弧 我好想開槍自盡
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:12 AM
JS的章節他每一段影片都講一個範例跟一個概念然後搭配一個隨堂挑戰 節奏很快 一天就可以學兩三個內容
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:12 AM
比之前CSS排版的部份節奏快多了
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:14 AM
題外話,閏年怎麼會發生的這個他好像預設大家都完全不知道,還提供了一堆參考資料XD
阿茶/敖珂索
@garnetauxo
sagt
Thu, Oct 22, 2020 6:15 AM
預設大家都不知道比較好XD
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:17 AM
無意間看到別人的C++教材也有這個例子:
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:18 AM
不過 我看不懂它的符號XD 只知道宣告了一個啥咪 判斷了一個啥咪 不是這個 就是那個 如此這般XDD
pennyfox
@pennyfox
Thu, Oct 22, 2020 6:22 AM
你可以直接寫成 (year % 4 === 0 || year % 100 === 0 || year % 400 === 0)
pennyfox
@pennyfox
Thu, Oct 22, 2020 6:22 AM
通常是儘可能的把block減少會比較好閱讀
pennyfox
@pennyfox
Thu, Oct 22, 2020 6:25 AM
欸 不對 是三連if的話會是(year % 4 === 0 && year % 100 === 0 && year % 400 === 0)
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:25 AM
等等 閏年是不能被100整除但可以被400整除
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:26 AM
所以1900年可以被4整除也可以被100整除 所以不是閏年
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:26 AM
但2000年可被4整除 可被100整除 可被400整除 是閏年
pennyfox
@pennyfox
Thu, Oct 22, 2020 6:27 AM
所以說block越多閱讀越困難(茶)
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:27 AM
我一開始也想過第一個if先套兩個條件
元帥♀大叔♂愛♥
@hildegardtschen
sagt
Thu, Oct 22, 2020 6:34 AM
結果解答是建議大家這樣思考:
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:39 AM
我再多看了一眼C++範例
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:40 AM
Thu, Oct 22, 2020 6:40 AM
他只判斷出「符合閏年條件」
費拉諾蘭大公
@Fillano
Thu, Oct 22, 2020 6:41 AM
你得到他了
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:41 AM
Thu, Oct 22, 2020 6:41 AM
所以要嘛是被400整除 或者是 能被4且不能被100整除
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:42 AM
先判斷400整除這個比較高明耶
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:43 AM
不能被400整除的 再套一個條件就能分出來閏年或平年
費拉諾蘭大公
@Fillano
Thu, Oct 22, 2020 6:50 AM
在一個if裡面用or結合條件就好,or是由左而右依序判斷條件,只要符合就返回true,不會繼續運算
費拉諾蘭大公
@Fillano
Thu, Oct 22, 2020 6:50 AM
有千年跟四千年的規則嗎?
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:53 AM
就那三條啊
費拉諾蘭大公
@Fillano
Thu, Oct 22, 2020 6:55 AM
if (y % 400==0 || (y % 4==0 && y % 100 !=0)) { is_leap_year(); }
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:57 AM
各位大帥哥大美女:
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:57 AM
幹,這是藝術!藝術啊!(顫抖)
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 6:59 AM
pennyfox
@pennyfox
Thu, Oct 22, 2020 7:25 AM
還可以更簡短
let isLeapYear = (year) => { return (year % 400 === 0 || year % 4 === 0 && year % 100 !== 0) ? "Leap Year" : "Not Leap Year" };
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 7:33 AM
pennyfox
: 等一下 這超出了我的程度
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 7:35 AM
我還不會let是啥咪 還有那個問號!
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 7:36 AM
趕快自力救濟一下:
Conditional (ternary) operator
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 7:39 AM
突然覺得自己的code有一種老派的風味(不 XD
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 7:47 AM
自力救濟2
Arrow function expressions
BetterMove
@BetterMove
Thu, Oct 22, 2020 7:47 AM
口訣: 四年一潤 百年不潤 四百年又潤
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 7:48 AM
自力救濟3
let
BetterMove
@BetterMove
Thu, Oct 22, 2020 7:48 AM
條件最嚴苛的放最前面
pennyfox
@pennyfox
Thu, Oct 22, 2020 8:03 AM
其實arrow function可以不用寫return 囧"
我老是會忘記...
let isLeapYear = (year) => (year % 400 === 0 || year % 4 === 0 && year % 100 !== 0) ? "Leap Year" : "Not Leap Year";
pennyfox
@pennyfox
Thu, Oct 22, 2020 8:04 AM
let 跟 var的分別是我們面試的考題之一 XD
元帥♀大叔♂愛♥
@hildegardtschen
Thu, Oct 22, 2020 8:05 AM
雖然自力救濟了但還是不太懂global宣告是啥 >< 昨天大公有稍微解釋但我沒得到它
pennyfox
@pennyfox
Thu, Oct 22, 2020 9:38 AM
技術上來說var是function scope let是block scope
載入新的回覆
let isLeapYear = (year) => { return (year % 400 === 0 || year % 4 === 0 && year % 100 !== 0) ? "Leap Year" : "Not Leap Year" };
我老是會忘記...
let isLeapYear = (year) => (year % 400 === 0 || year % 4 === 0 && year % 100 !== 0) ? "Leap Year" : "Not Leap Year";