Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Rosa en 30 de Agosto 2015, 17:25

Título: Crear objetos con propiedades y métodos en JavaScript ejemplo ejercicio CU01144E
Publicado por: Rosa en 30 de Agosto 2015, 17:25
Hola a tod@s,

Estoy haciendo el curso de JAVASCRIPT y tengo una duda que resolver, espero que me podáis ayudar. El ejercicio es este:

Citar
Define un tipo de objeto Medico en JavaScript que tenga como propiedades: nombre (String), personasCuradas (número entero), especialidad (String) y como métodos un método denominado curarPersona y otro método denominado mostrarDatos. El método curarPersona deberá añadir una unidad al valor de la propiedad personasCuradas y el método mostrarDatos deberá mostrar los datos el médico. Por ejemplo, “El médico se llama Juan Eslava, su especialidad es traumatología y lleva curadas 8 personas”. Crea dos objetos del tipo definido, e invoca sus métodos para comprobar que funcionan correctamente.


La pregunta es: ¿por qué no puedo visualizar this.personasCuradas?


Gracias


El código:

code

/code
Título: Re:CU01144E
Publicado por: César Krall en 30 de Agosto 2015, 18:58
Hola Rosa!

El código no se ha pegado correctamente, míralo por favor e intenta pegarlo de nuevo para intentar estudiarlo y poder responderte

Saludos!
Título: Re:CU01144E
Publicado por: Rosa en 30 de Agosto 2015, 21:08
Espero que ahora llegue el código sin problemas... Gracias

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
<script type="text/javascript">
function medico() {
this.nombre = "Juan Eslava";
this.personasCuradas = curarPersonas;
this.especialidad="Traumatología";

this.mostrarDatos=function(){
var msg='El médico se llama '+this.nombre;
msg=msg+', su especialidad es '+this.especialidad;
msg=msg+' y lleva curadas' +this.personasCuradas+'personas';
alert(msg);
}
}
function curarPersonas() {
        var personas=7;
personas++;
return personas;
        }
function ejemploCreaObjetos() {
var datos1 = new medico();
datos1.mostrarDatos();
}

</script>
</head>
<body><div id="cabecera"><h2>Cursos aprenderaprogramar.com</h2><h3>Ejemplo funciones JavaScript</h3></div>
<div style="color:blue;" id ="pulsador" onclick="ejemploCreaObjetos()"> Probar </div>
</body>
</html>
Título: Re:CU01144E
Publicado por: GonzaH en 31 de Agosto 2015, 01:05
Hola rosa el problema es que vos ala propiedad le decis que sea igual al nombre del metodo y acordate cuando es un metedo va con parentesis.
Código: [Seleccionar]
this.personasCuradas = curarPersonas;
Tendria que quedar asi.
Código: [Seleccionar]
this.personasCuradas = curarPersonas();
Ya que curarPersonas es un metodo.

Saludos.
Título: Re:CU01144E
Publicado por: Rosa en 01 de Septiembre 2015, 07:42
Muchas gracias, ya funciona