Foros del Web » Programando para Internet » Javascript »

Mostrar en una tabla las propiedades de un objeto de window()

Estas en el tema de Mostrar en una tabla las propiedades de un objeto de window() en el foro de Javascript en Foros del Web. Hola, me llamo Jose y estoy iniciandome en Javascript, estoy intentando leer aquí y allí para empaparme bien de todo, pero a veces hay ejercicios ...
  #1 (permalink)  
Antiguo 18/03/2014, 06:32
 
Fecha de Ingreso: marzo-2014
Mensajes: 1
Antigüedad: 10 años, 1 mes
Puntos: 0
Mostrar en una tabla las propiedades de un objeto de window()

Hola, me llamo Jose y estoy iniciandome en Javascript, estoy intentando leer aquí y allí para empaparme bien de todo, pero a veces hay ejercicios que no acabo de cogerles el truco... este es uno de ellos

"Construir una página HTML que liste el contenido de todas las propiedades de un objeto en forma de tabla.

El nombre o referencia al objeto se pedirá al usuario utilizando la función prompt, para que lo introduzca a través del cajetín del desplegable generado. Debera aceptar nombres de propiedades de window tales como screen, this.location, document, .. o incluso window. Si el nombre que se introduce por el cajetín referencia algo que no es un objeto, solo se dará un mensaje indicandolo y no habra que listar ninguna tabla.

La tabla HTML tendrá 2 columnas:

La 1a columna contendrá los nombres de las propiedades de objeto
La 2a columna contendrá el valor de la propiedad, siempre que no sea un objeto o función (comprobarlo con el operador "typeof"). Si es un objeto o función se pondrá como valor el string: “no es imprimible”."

Este es el código que tengo, de momento....
Código javascript:
Ver original
  1. function listarPropiedades(obj){
  2.             if (typeof obj == 'function')
  3.             {
  4.                 for(var i in obj){
  5.                     tabla.innerHTML+="<tr><td>" + i + "</td><td>"+ obj[i] +"</td></tr>";
  6.                 }
  7.  
  8.             }else{
  9.                 alert("El valor introducido no es una propiedad");
  10.             }
  11.         }
  12.         var obj = prompt("Introduzca la propiedad de window()");
  13.         listarPropiedades(obj);
Me da un error en la consola
  #2 (permalink)  
Antiguo 18/03/2014, 08:39
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Mostrar en una tabla las propiedades de un objeto de window()

No sé que es eso de window().

Lo que estás intentando hacer ahí es obtener las propiedades estáticas de una función, nada más. El window es una instancia de DOMWindow, por lo tanto un objeto y no una función.
  #3 (permalink)  
Antiguo 20/03/2014, 15:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 2
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Mostrar en una tabla las propiedades de un objeto de window()

a mi tb me interesa saber cmo hacer esto
  #4 (permalink)  
Antiguo 28/03/2014, 14:41
Avatar de sonic27  
Fecha de Ingreso: enero-2012
Mensajes: 23
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Mostrar en una tabla las propiedades de un objeto de window()

Cita:
Iniciado por drantar Ver Mensaje
Hola, me llamo Jose y estoy iniciandome en Javascript, estoy intentando leer aquí y allí para empaparme bien de todo, pero a veces hay ejercicios que no acabo de cogerles el truco... este es uno de ellos

"Construir una página HTML que liste el contenido de todas las propiedades de un objeto en forma de tabla.

El nombre o referencia al objeto se pedirá al usuario utilizando la función prompt, para que lo introduzca a través del cajetín del desplegable generado. Debera aceptar nombres de propiedades de window tales como screen, this.location, document, .. o incluso window. Si el nombre que se introduce por el cajetín referencia algo que no es un objeto, solo se dará un mensaje indicandolo y no habra que listar ninguna tabla.

La tabla HTML tendrá 2 columnas:

La 1a columna contendrá los nombres de las propiedades de objeto
La 2a columna contendrá el valor de la propiedad, siempre que no sea un objeto o función (comprobarlo con el operador "typeof"). Si es un objeto o función se pondrá como valor el string: “no es imprimible”."

Este es el código que tengo, de momento....
Código javascript:
Ver original
  1. function listarPropiedades(obj){
  2.             if (typeof obj == 'function')
  3.             {
  4.                 for(var i in obj){
  5.                     tabla.innerHTML+="<tr><td>" + i + "</td><td>"+ obj[i] +"</td></tr>";
  6.                 }
  7.  
  8.             }else{
  9.                 alert("El valor introducido no es una propiedad");
  10.             }
  11.         }
  12.         var obj = prompt("Introduzca la propiedad de window()");
  13.         listarPropiedades(obj);
Me da un error en la consola
ya pudiste hacerlo compañero?? yo estoy tratando de hacerlo pero no puedo!
  #5 (permalink)  
Antiguo 29/03/2014, 05:29
 
Fecha de Ingreso: marzo-2014
Ubicación: Lleida
Mensajes: 1
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Mostrar en una tabla las propiedades de un objeto de window()

Hola
muy buenas...

creo que he encontrado una solución.
no se si es la mejor, la adecuada o simplemente es ilegal.
pero yo creo que funciona.

Código HTML:
function propListing(nomObjeto){

		if (window[nomObjeto] !== (null || undefined))
            {
                var i, taula = document.getElementById("taula");

				for (i in window[nomObjeto]) {
				taula.innerHTML+="<tr><td>"+i+"</td><td> = "+window[nomObjeto][i]+"</td></tr>";
	            }
 
            }else{
                alert("El valor introducido no es una propiedad");
            }
        }


	var nomObjeto = prompt ("Introduzca nombre del objeto del que ");

	propListing(nomObjeto);
  #6 (permalink)  
Antiguo 29/03/2014, 10:00
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Mostrar en una tabla las propiedades de un objeto de window()

Hola:

Una referencia: Nuevo destripador

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Etiquetas: html, objeto, propiedades, tabla, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:23.