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>