Из codepen , который вы прикрепили, разработчик использует k
, чтобы получить дни за пределами текущего месяца, которые должны появиться в календаре (т. Е. Если наш месяц начинается во вторник, а затем в воскресенье) & Понедельник в предыдущем месяце, но нам нужно получить «числа дня месяца» этих дней), теперь они используют k в двух случаях:
1: получить дни предыдущего месяца var k = lastDayOfLastMonth - firstDayOfMonth+1;
2: получить дни следующего месяца:
else if ( i == lastDateOfMonth ) {
var k=1;
for(dow; dow < 6; dow++) {
html += '<td class="not-current">' + k + '</td>';
k++;
}
}
В первом случае они вычисляют разницу между последним днем последнего месяца и первым днем этого месяца, +1
здесь, потому что вы работаете с индексами.
Во втором случае можно с уверенностью сказать, что в каждом месяце есть 1-6
, поэтому они повторяют до 6, чтобы заполнить последнюю неделю в календаре.