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: Pepote21 en 23 de Mayo 2017, 14:25
-
Hola a todos. Os paso mi código para el ejercicio CU01147E del curso de fundamentos de programación JavaScript con editor Notepad++.
Gracias, un saludo
<!DOCTYPE html>
<html>
<head>
<title>Ejercicio tutorialesprogramacionya.com</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script type="text/javascript">
function cometa(diametro,celsiusTemp,nombre){
this.diametro=diametro;
this.celsiusTemp=celsiusTemp;
this.nombre=nombre;
var farenheitTemp=0;
this.farenheitTemp=farenheitTemp;
}
cometa.prototype.definicionSegunDiccionario='Diccionario';
cometa.prototype.obtenerRadio=function(){
return this.diametro/2;
}
cometa.prototype.obtenerTemperaturaFarenheit=function(){
this.farenheitTemp=(this.celsiusTemp*1.8)+32;
return this.farenheitTemp;
//return (this.celsiusTemp*1.8)+32;
}
function ejemploObjetos(){
var cometa1=new cometa(30,-25,'Dylan');
var cometa2=new cometa(5,-15,'Aero');
var cometa3=new cometa(14,-32,'Julius');
var cometas=[cometa1,cometa2,cometa3];
for(var i=0;i<cometas.length;i++){
alert(cometas[i].nombre+' es un cometa según '+cometas[i].definicionSegunDiccionario+', de radio: '+
cometas[i].obtenerRadio()+' y temperatura: '+cometas[i].obtenerTemperaturaFarenheit()+' grados Farenheit');
}
}
</script>
</head>
<body>
<script type="text/javascript">
</script>
<div style="color:blue;" id ="pulsador" onclick="ejemploObjetos()"> Probar </div>
</body>
</html>
-
Buenas Pepote21
No he entendido bien por qué has definido dentro de cometa
var farenheitTemp=0;
this.farenheitTemp=farenheitTemp;
Tampoco veo muy claro que dentro de prototype hagas referencia a this, porque se entiende que prototype aplica a todos los objetos
cometa.prototype.obtenerTemperaturaFarenheit=function(){
this.farenheitTemp=(this.celsiusTemp*1.8)+32;
return this.farenheitTemp;
//return (this.celsiusTemp*1.8)+32;
}
También te ha faltado acceder a la propiedad de grados centígrados del cometa
Con todo lo comentado el código quedaría así:
<!DOCTYPE html>
<html>
<head>
<title>Ejercicio tutorialesprogramacionya.com</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script type="text/javascript">
function cometa(diametro,celsiusTemp,nombre){
this.diametro=diametro;
this.celsiusTemp=celsiusTemp;
this.nombre=nombre;
}
cometa.prototype.definicionSegunDiccionario='Objeto celeste que viaja a gran velocidad';
cometa.prototype.obtenerRadio=function(){return this.diametro/2;}
cometa.prototype.obtenerTemperaturaFarenheit=function(){
return (this.celsiusTemp*1.8)+32;
}
function ejemploObjetos(){
var cometa1=new cometa(30,-25,'Dylan');
var cometa2=new cometa(5,-15,'Aero');
var cometa3=new cometa(14,-32,'Julius');
var cometas=[cometa1,cometa2,cometa3];
for(var i=0;i<cometas.length;i++){
alert(cometas[i].nombre+' es un cometa con definición según diccionario '+cometas[i].definicionSegunDiccionario+', de radio: '+
cometas[i].obtenerRadio()+' y temperatura '+ cometas[i].celsiusTemp+ ' ºC o temperatura: '+cometas[i].obtenerTemperaturaFarenheit()+' grados Farenheit');
}
}
</script>
</head>
<body>
<div style="color:blue;" id ="pulsador" onclick="ejemploObjetos()"> Probar </div>
</body>
</html>
Revísalo y haz pruebas a ver qué te parece.
Nota: ten cuidado porque en muchos ejercicios estás dejando etiquetas <script> ... < / script> vacías como si fuera código sin revisar que se te hubiera olvidado
Salu2