Autor Tema: class JavaScript Clases? Objetos predefinidos Global Ejercicio resuelto CU01144E  (Leído 2107 veces)

Salvadoruve2

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 69
  • Good night Seattle
    • Ver Perfil
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

Código: [Seleccionar]
<!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>
« Última modificación: 22 de Julio 2016, 14:48 por Ogramar »
Dt. Crane psychiatrist

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
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.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".