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;
}