37 votos

Javascript expando objetos

¿Cuáles son expando objetos en javascript?

Para qué necesitamos esto ? Cualquier ejemplo completo en el que se puede apreciar

He encontrado 1 artículo aquí Javascript: La pelirroja hijastro de desarrollo web

Gracias

33voto

David Hedlund Puntos 66192

Así, en javascript, cualquier objeto es un expando objeto. Lo que significa es que, como el artículo cubre, que cada vez que intente acceder a una propiedadde 1 que será creado automáticamente.

var myObj = {}; // completely empty object
myObj.myProp = 'value';

En el momento de asignar myProp un valor, la propiedad myProp es creado dinámicamente, apesar de que no existía antes. En un montón de otros lenguajes, tales como C#, normalmente esto no es posible (de hecho en C# se ha activado expando objeto de apoyo, pero que es además el punto). Para acceder a una propiedad en una clase normal en C#, es necesario especificar en la clase que de hecho tienen esta propiedad.

1 No es del todo correcto. Ver npup el comentario de abajo para una aclaración.

7voto

Abhijit Chanda Puntos 461

Todo, excepto los de los tipos primitivos(string, number,boolean) son objetos y de apoyo Clave:valores de la estructura. propiedades(teclas) se puede acceder y configurar el uso de la notación de punto, así como de los corchetes.

var myObj = {};   
myObj.myProp1 = 'value1'; //works, an expando property   
myObj[myProp2] = 'value2'; // works  , an expando property   
myObj[2010]= 'value'; //note the key is number, still works, an expando property??   
myObj.2010 = 'value'; // FAILS. to use dot notation, key must be a string

4voto

Freeman Puntos 1725

JavaScript vuelve con elementos Identificadores específicos de nombres en expandos de la devuelve el objeto DOM. Se explica aquí.

3voto

Quentin Puntos 325526

Un artículo escrito en el año 2007 que utiliza el documento.todos (como la única manera de acceder a los elementos)? Eso es una gran bandera roja.

Es sólo vestirse "Se pueden añadir propiedades a un objeto", con unas palabras de moda.

Tenemos que ser capaces de hacer esto porque de lo contrario no seríamos capaces de almacenar datos, y que haría JavaScript bastante inútil idioma.

(Todo lo que es una matriz? No, No es así. Y se repite sobre un objeto sin un hasOwnProperty contenedor. Que no es seguro. Sólo se mantenga alejado de la artículo, es peor que inútil)

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X