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: bermartinv en 11 de Febrero 2016, 09:55
-
Adjunto mi código para el ejercicio CU01145E del curso de JavaScript:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
var GestionDeUsuarios = {};
Object.defineProperty(GestionDeUsuarios,'nombreUsuario',{value:'',writable:true},'idUsuario',{value:0,writable:true});
GestionDeUsuarios.preguntarNombre = function (){
var usuario = prompt("Cuál es el nombre de usuario:");
var identificador = prompt ("Introduzca identificador de usuario");
GestionDeUsuarios.nombreUsuario = usuario;
GestionDeUsuarios.idUsuario = identificador;
}
GestionDeUsuarios.despedir = function () {
alert ("Hasta luego "+GestionDeUsuarios.nombreUsuario);
}
function Objetos(){
GestionDeUsuarios.preguntarNombre();
GestionDeUsuarios.despedir();
alert ('Tenemos un objeto gestionDeUsuarios con propiedades nombre:'+GestionDeUsuarios.nombreUsuario + 'e id: '+GestionDeUsuarios.nombreUsuario);
despedir();
}
function despedir(){
alert('Esta es la funcion despedir() y accedemos a la definicion del objeto con nombre:' + GestionDeUsuarios.nombreusuario);
}
</script>
</head>
<body>
<input type="button" value="Usuario" onclick="Objetos()"/>
</body>
</html>
Respecto a la pregunta: "¿si se crea una función despedir entrará en conflicto con el método definido?"
No entrará en conflicto porque hemos definido un objeto que tiene un metodo, para acceder a este metedo tenemos que acceder desde el objeto. Sin embargo, para acceder a la funcion su llamada es directa.
-
Buenas bermartinv
Por favor cuando escribas el título de un tema hazlo como se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 por ejemplo es preferible "JavaScript crear objetos vacíos y añadirle métodos ejercicio CU01145E" en lugar de CU01145E
El código que has propuesto como solución no me funciona bien. Por ejemplo pulso el botón y sale:
Cuál es el nombre de usuario: Florencio
Introduzca identificador de usuario: 9
Hasta luego Florencio
Tenemos un objeto gestionDeUsuarios con propiedades nombre:Florencioe id: Florencio
Esta es la funcion despedir() y accedemos a la definicion del objeto con nombre: undefined
Te he señalado en rojo las cosas incorrectas (no sale el id, sale undefined...)
Te recomiendo revisar el código y corregirlo, puedes orientarte revisando lo propuesto en https://www.aprenderaprogramar.com/foros/index.php?topic=3341.0
Salu2
-
Respecto al enunciado del hilo del foro, tienes razón, hay que poner algo que nos ayude a saber de lo que va ese ejercicio.
Código modificado
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
var GestionDeUsuarios = {};
Object.defineProperty(GestionDeUsuarios,'nombreUsuario',{value:'',writable:true},'idUsuario',{value:0,writable:true});
GestionDeUsuarios.preguntarNombre = function (){
var usuario = prompt("Cuál es el nombre de usuario:");
var identificador = prompt ("Introduzca identificador de usuario");
GestionDeUsuarios.nombreUsuario = usuario;
GestionDeUsuarios.idUsuario = identificador;
}
GestionDeUsuarios.despedir = function () {
alert ("Hasta luego "+GestionDeUsuarios.nombreUsuario);
}
function Objetos(){
GestionDeUsuarios.preguntarNombre();
GestionDeUsuarios.despedir();
alert ('Tenemos un objeto gestionDeUsuarios con propiedades nombre:'+GestionDeUsuarios.nombreUsuario + 'e id: '+GestionDeUsuarios.idUsuario);
despedir();
}
function despedir(){
alert('Esta es la funcion despedir() y accedemos a la definicion del objeto con nombre:' + GestionDeUsuarios.nombreUsuario);
}
</script>
</head>
<body>
<input type="button" value="Usuario" onclick="Objetos()"/>
</body>
</html>
-
Hola! He revisado el código modificado y lo veo bien!