Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

157
Vistas
¿Cómo enumerar el miembro "nuevo" de un objeto JavaScript que no es una instancia/miembro estático de su clase base o heredada?

No estoy seguro de cómo definir este new member , consulte la demostración a continuación, lo que quiero es ListNewMemberNames :

El código (demo.html) se supone que se ejecuta en un navegador

 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Var1 Test</title> </head> <body> <script> var1 = {value:7} /* same as window.var1 = {value:7}*/ ListMemberNames(window) /* returns: ["__defineGetter__", ... "addEventListener", "alert", ... "var1"] */ ListNewMemberNames(window) /* returns: ["var1"] */ function ListMemberNames(obj){ /* tricks with .hasOwnProperty() or something*/ } function ListNewMemberNames(obj){ /* ? */ } </script> </body> </html>
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En general, no puede analizar el entorno léxico actual (o externo) (la asignación de nombres de variables a sus valores) dinámicamente en JavaScript. Esto solo es posible en el nivel superior debido al hecho de que las variables de nivel superior declaradas con var (o sin nada en absoluto) se asignan a la ventana: verifique las propiedades que existen en la ventana al comienzo de la carga de la página, colóquelo en una matriz, luego mire las propiedades que existen en ella más tarde y encuentre la diferencia.

 // always run this first const properties = Object.getOwnPropertyNames(window); // then your code does something var1 = {value:7} // and it is detectable by doing: const newPropertiesOnWindow = Object.getOwnPropertyNames(window) .filter(prop => !properties.includes(prop)); console.log(newPropertiesOnWindow);

Es posible hacerlo, apenas, pero no puedo pensar en ninguna buena razón para querer hacerlo.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda