Autor: Juan Pablo Fuentes
Formador de programación y bases de datos
Ejercicio último día del mes
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; }
Ejercicio dados
var dados = { dado: [0, 0, 0, 0, 0, 0], lanzamientos: function () { var total = 0; for (var i = 0; i < this.dado.length; i++) { total += this.dado[i]; } return total; }, tirada: function () { var tirada = Math.floor(Math.random() * 6) + 1; this.dado[tirada - 1]++; return tirada; }, tiradas: function (veces) { var dados = ""; for (var i = 0; i < veces; i++) { dados += this.tirada().toString(); } return dados; }, parchis: function () { var dados = ""; var tirada; do { tirada = this.tirada().toString(); dados += tirada; } while (tirada !== "5"); return dados; }, parchis2: function () { var dados = ""; do { dados += this.tirada().toString(); } while (!dados.endsWith("5")); return dados; }, parchis3: function () { var dados = ""; var n = this.dado[4]; do { dados += this.tirada().toString(); } while (n === this.dado[4]); return dados; }, paCasa: function () { var dados = ""; do { dados += this.tirada().toString(); } while (!dados.endsWith("666")); return dados; }, paCasa2: function () { var dados = ""; var seis = 0; var tirada; do { tirada = this.tirada().toString(); dados += tirada; if (tirada === "6") { seis++; } else { seis = 0; } } while (seis < 3); return dados; } };
Javascript objeto monedas
var monedas = { caras: 0, cruces: 0, lanzamientos:function(){ return this.caras+this.cruces; }, tirada: function () { var tirada = Math.floor(Math.random() * 2); if (tirada === 1) { this.caras++; return "C"; } else { this.cruces++; return "X"; } }, tiradas: function (veces) { var monedas = ""; for (var i = 0; i < veces; i++) { monedas += this.tirada(); } return monedas; } }
JS ejemplos objetos
String.prototype.numeroDeApariciones=function(cadena){ return this.split(cadena).length-1; } Number.prototype.doble=function(){ return this*2; } var producto={ nombre:"Furby", precio:100, pvp:function(){ return this.precio*1.21; } }; var circulo={ radio:10, circunferencia:function(){ return Math.PI*this.radio*2; }, area:function(){ return Math.PI*this.radio*this.radio; } }