Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Salvadoruve2 en 18 de Julio 2016, 21:06
-
Hola mi resultado para el ejercicio propuesto en este apartado CU01144E del taller práctico de programación web con JavaScript desde cero.
He añadido un pequeño contador para ir sumando el numero de pacientes a partir del método "curarPersona".
Estoy abierto a sugerencias. Gracias
<!DOCTYPE html>
<html>
<head>
<title>objeto presente</title>
<meta charset="utf-8">
<style type="text/css">
body {text-align: center; margin: 0 auto;}
div {padding:15px; width: auto; display: inline-block; margin: 25px; margin-top: 300px; cursor: pointer; color: white; border-radius: 40px; background: rgb(202, 60, 60);}
div:hover, div:hover {background: rgb(66, 184, 221);}
</style>
<script type="text/javascript">
var contador = 0;
function funcionInterna() {
this.nombre = "Juan José Millán-Astray";
this.personasCuradas = 220;
this.especialidad = "Neurocirujano";
this.curarPersona = function () {
this.personasCuradas = this.personasCuradas + contador;
}
this.mostrarDatos = function () {
alert("El Médico se llama " + this.nombre + ", su especialidad es " + this.especialidad + " y lleva curadas " + this.personasCuradas +" personas");
}
}
function funcionExterna() {
this.nombre = "Juan José Millán-Astray";
this.personasCuradas = 220;
this.especialidad = "Neurocirujano";
this.curarPersona = funcionCurar;
this.mostrarDatos = funcionMostrar;
}
function funcionCurar() {
this.personasCuradas = this.personasCuradas + contador;
}
function funcionMostrar() {
alert("El Médico se llama " + this.nombre + ", su especialidad es " + this.especialidad + " y lleva curadas " + this.personasCuradas +" personas");
}
function openOne() {
var abrirFuncionUno = new funcionInterna();
if (contador == 0) {
abrirFuncionUno.mostrarDatos();
} else {abrirFuncionUno.curarPersona(); abrirFuncionUno.mostrarDatos();}
contador ++;
}
function openTwo() {
var abrirFuncionDos = new funcionExterna();
if (contador == 0) {
abrirFuncionDos.mostrarDatos();
} else {abrirFuncionDos.curarPersona(); abrirFuncionDos.mostrarDatos();}
contador ++;
}
</script>
</head>
<body>
<div id="interno" onclick="openOne()">Objeto Médico 1</div>
<div id="externo" onclick="openTwo()">Objeto Médico 2</div>
</body>
</html>
-
Buenas tardes, SAlvadoruve2.
Considero que has cumplido con el cometido del ejercicio porque has utilizado tanto funciones externas como internas de tipo anónimo.
Lo único que podría comentarte que en el ejercicio se comenta que tienes que crear el objeto con nombre "Medico" y tu lo has definido como "funcionInterna" y "funcionExterna". Pero creo que, incluso, tu método es mejor porque así señalas explícitamente cuál función utiliza métodos (funciones) externas y cuál funciones internas. Felicidades.
Saludos.