Foros del Web » Programando para Internet » Javascript »

Instruccion With

Estas en el tema de Instruccion With en el foro de Javascript en Foros del Web. Hola, Estoy utilizando with para reducir la cantidad de codigo que tengo que escribir en una aplicacion que crea objetos DOM dinamicamente. Mi problema radica ...
  #1 (permalink)  
Antiguo 22/09/2012, 16:14
Avatar de ClubIce  
Fecha de Ingreso: diciembre-2008
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 2
Instruccion With

Hola,

Estoy utilizando with para reducir la cantidad de codigo que tengo que escribir en una aplicacion que crea objetos DOM dinamicamente.

Mi problema radica en que cuando utiliza with e intento definir una nueva "propiedad" a un elemento DOM, no se define, osea, que al intentar acceder a esta propiedad fuera del with, me devuelve undefined....

¿Cómo hago para definir nuevas propiedades dentro del with?
  #2 (permalink)  
Antiguo 22/09/2012, 17:16
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Instruccion With

buenas...
hasta donde conozco, no puedes. con el statement with, javascript busca si dicho identificador existe en el contexto. si no existe, entonces sigue cambiando de contexto hasta que encuentre el identificador o hasta llegar al contexto principal (self). en dicho caso, crea una propiedad en el contexto principal con el valor indicado. para declarar una propiedad usado with, tendrías que definir primero la propiedad o indicar la ruta completa al objeto.

Código:
var obj = {bar: 'b'};
with(obj){
bar = 'val';
foo = 'tor';
obj.baz = 'naz';
};

console.log(obj.bar, 'foo' in obj, 'baz' in obj); // 'val', false, true ;
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 22/09/2012, 17:25
Avatar de ClubIce  
Fecha de Ingreso: diciembre-2008
Mensajes: 216
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Instruccion With

ah, ya entendi. En los libros de JavaScript que he leido no hablaba nada de eso (?).

Ahora que se que no puedo definir propiedades nuevas con el with, entonses conoces una forma de pocas lineas de definir varias propiedades a un objeto existente?

Etiquetas: instruccion
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 22:30.