回答編集履歴

1

コメント追加、コードの不足を修正

2020/03/24 01:51

投稿

thyda.eiqau
thyda.eiqau

スコア2982

test CHANGED
@@ -78,9 +78,13 @@
78
78
 
79
79
  const dateSelect = document.getElementById('selectId3');
80
80
 
81
- // 要素の作成は changeSelect2() とやることは同じなので、そちらを呼び出すだけにする
81
+ // 要素の作成は changeSelect1(), changeSelect2() とやることは同じなので、
82
82
 
83
+ // そちらを呼び出すだけにする
84
+
83
- changeSelect2();
85
+ changeSelect1(); // ← うるう年の判定
86
+
87
+ changeSelect2(); // ← 日付の <option> の生成
84
88
 
85
89
  dateSelect.value = now.getDate(); // 今日の日にする
86
90
 
@@ -94,11 +98,15 @@
94
98
 
95
99
  function changeSelect1() {
96
100
 
97
- // new Date('2019-02-29') したとき、自動的に3月1日になっ
101
+ // うるう年ではない年、たとえば2019年で new Date('2019-02-29') して
98
102
 
99
- // getMonth() の値が3月になる、つまり、(new Date(xxxx-02-29)).getMonth()
103
+ // Dateのインスタンスを生成したとき、そのインスタンス示す日付は自動的に
100
104
 
101
- // 2月ならうるう年ではないし、3月ならうう年である
105
+ // 31日にって getMonth() の値が3月なる
106
+
107
+ // つまり、「うるう年か?」 は、「(new Date(xxxx-02-29)).getMonth() が 3月か?」
108
+
109
+ // と言い換えることができる。
102
110
 
103
111
  isLeapYear = (new Date(document.getElementById('selectId1').value + '-02-29')).getMonth() === 1;
104
112
 
@@ -183,3 +191,7 @@
183
191
  }
184
192
 
185
193
  ```
194
+
195
+
196
+
197
+ Mar 24, 2020 10:51 AM : コメント追加、コードの不足を修正