Con función:
function ultimoDia(anyo, mes) { var fecha = new Date(anyo, mes, 28); var cont = 0; do { fecha.setDate(fecha.getDate() + 1); cont++; } while (fecha.getMonth() === mes); return 27 + cont; } function ultimoDia2(anyo, mes) { var fecha = new Date(anyo, mes, 29); var cont = 0; while (fecha.getMonth() === mes) { fecha.setDate(fecha.getDate() + 1); cont++; } return 28 + cont; } function ultimoDia3(anyo, mes) { var fecha = new Date(anyo, mes, 32); return 32-fecha.getDate(); }
Modificando la clase Date:
Date.prototype.lastMonthDay = function () { var cont = 0; var fecha = new Date(this.getFullYear(), this.getMonth(),28); do { fecha.setDate(fecha.getDate() + 1); cont++; } while (fecha.getMonth() === this.getMonth()); return 27 + cont; }