Obtenha um intervalo do número de dias contido nos meses seguintes

function getMonthRange(n){
var i = 0
, newDate = new Date()
, year = newDate.getFullYear()
, month = newDate.getMonth()
, result = Array(n)
, date
, isLastMonth

for(;i < n; i++) {
isLastMonth
= month == 12
date
= new Date(isLastMonth ? ++year : year, isLastMonth ? (month = 1) : ++month, 0)

result
[i] = {
days
: date.getDate(),
month
: month,
year
: year
}
}
return result
}

Esta função retorna um Array (com comprimento n ) que contém para cada mês:

{
days
: number,
month
: number,
year
: number
}