Autor Tema: JavaScript cómo evitar errores por conflicto de nombres de funciones CU01145E  (Leído 514 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Entrego el ejercicio CU01145E del curso básico de programación JavaScript desde cero.

Responde la siguiente pregunta:

¿si se crea una función despedir entrará en conflicto con el método definido?

Respuesta:

No entran en conflicto por que para utilizar el método despedir tenemos que invocarlo llamando a el objeto  GestionDeUsuarios.despedir() si llamamos a la función-metodo despedir sin invocar el objeto no funcionara el código de la función-metodo despedir ( en este caso funcionaria porque tenemos una función fuera del objeto que se llama despedir si renombramos la función que tenemos fuera del objeto despedir ya no se presenta nada en pantalla)

Código: [Seleccionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
<title>ejercicio CU01145E</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />

<script type="text/javascript">
/* **************************************************************************
/* ************************** EJERCICIO *************************************
/* **************************************************************************/
var GestionDeUsuarios={};// Creacion del Objeto vacio

//Definir propiedades del objeto vacio GestionDeUsuarios
Object.defineProperty(GestionDeUsuarios,'nombre',{value:'', writable:true, enumerable:true, configurable:true});
Object.defineProperty(GestionDeUsuarios,'id',{value:0, writable:true, enumerable:true, configurable:true});

//Crear metodo para introducir datos en el objeto vacio
GestionDeUsuarios.preguntarDatos=function(){
// Se llenan las variables
    var Nombre=prompt('Introduzca nombre de usuario');
                            var id=prompt('Introduzca su id');

            //Se establece las propiedades nombre e id con los datos introducidos
                GestionDeUsuarios.nombreUsuario=Nombre;
                GestionDeUsuarios.idUsuario=id;
            }
            //Se crea la funcion despedir dentro del objeto GestionDeUsuarios
            GestionDeUsuarios.despedir = function(){
msg='(Desde método despedir)...Hasta luego ' + GestionDeUsuarios.nombreUsuario+'<br/><br/>Nombre : ' + GestionDeUsuarios.nombreUsuario+'<br/>';
msg=msg+"Id Usuario : "+GestionDeUsuarios.idUsuario+"<br/><br/>";
}
// Se crea una funcion con el nombre despedir
            function despedir(){
                msg=msg+'(Desde función despedir)...Hasta luego ' + GestionDeUsuarios.nombreUsuario+'<br/>';
                document.all.pizarra.innerHTML =msg;
            }
            //Se crea la funcion de inicio para ejecutor todo el codigo
function Inicio() {
    GestionDeUsuarios.preguntarDatos();// Llamada a la funcion de introduccion de datos
GestionDeUsuarios.despedir();//Llamada a la funcion dentro del objeto GestionDeUsuarios
msg=msg+'Tenemos un objeto GestionDeUsuarios con propiedades nombre: '+GestionDeUsuarios.nombreUsuario + ' e id: '+GestionDeUsuarios.idUsuario+'<br/>';
document.all.pizarra.innerHTML =msg;
despedir();//Llamada a la funcion despedir
}

/* **************************************************************************
/* ************************** FIN DEL EJERCICIO *****************************
/* **************************************************************************/
</script>



<style type="text/css">
body{background-color:green;}
  h1,h2{
text-align:center;
margin-left:0;
padding:0;
color:white;
width:300;
height:200;
}

.boton {
border:outset white  2px; 
width:200px;
border-radius:25px 25px;
box-shadow:3px 3px 2px 2px #AFF6AF;
text-align:center;
    background-color:#90EE90;
color:black;
font-size:19px;
margin-top :2px;
margin-left:5px;
margin-bottom:5px;

}
.boton, #externa{margin-left:150px;}


.boton:hover {
border:inset 2px green;
box-shadow:3px 3px 2px 2px  #0BF50B ;
    }
#pizarra {

background-color:black;
border:groove red 8px;
border-radius:25px 25px;


color:white;
font-size:19px;
padding:15px;
overflow:hidden;
float:left;
margin-left:10px;
margin-top:10px;
}
#Pizarras{float:left;}



</style>
</head>
<body onload="iniciaVariables()">
<div id="cabecera"><h2>Ejercicio CU01145E javaScript desde cero</h2> </div>
 
<div id="Pizarras">
<div class="boton" onclick="Inicio()">Introducir nombre usuario</div>
<div id="pizarra"></div>

 

</div>
</body></html>



Adios  >:(
« última modificación: 29 de Marzo 2018, 22:16 de Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2488
    • Ver Perfil
Re:Entrega del ejercicio CU01145E
« Respuesta #1 : 29 de Marzo 2018, 22:15 »
Buenas paramonso, repetir que los títulos de los temas en los foros debe ponerse como se indica en https://aprenderaprogramar.com/foros/index.php?topic=1460.0

El ejercicio está correcto (en lugar de preguntarNombre veo que usas preguntarDatos pero la funcionalidad es la pedida en el ejercicio)

Salu2

 

Esto es un laboratorio de ideas...
Aprender a programar

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".