Foros del Web » Programando para Internet » Javascript »

objetos en javascript

Estas en el tema de objetos en javascript en el foro de Javascript en Foros del Web. Hola, queria saber como puedo realizar un objeto dentro de otro la creación del objeto @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original var objeto = ...
  #1 (permalink)  
Antiguo 15/05/2011, 06:23
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 13 años
Puntos: 32
Mensaje objetos en javascript

Hola, queria saber como puedo realizar un objeto dentro de otro

la creación del objeto
Código Javascript:
Ver original
  1. var objeto= function(){
  2.     this.h='hola';
  3. }
  4.  
  5. var os =new objeto();
  6. alert(os.h)
  7. // eso daría una alerta con hola

El dile es como podría hacer ejemplo
--> os.dia ==> que esto de te ejemplo un alert "es medio día"
--> os.dia.h ==> esto te de un alert "hola"

maso menos como seria algo así

JSON ... kisas mmm....
  #2 (permalink)  
Antiguo 15/05/2011, 06:28
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: objetos en javascript

A ver así:
Código Javascript:
Ver original
  1. function hola1(){
  2.  this.saludo = 'Hola!';
  3. }
  4. function hola2(){
  5.  this.saludo = 'Hola! Voy a ser añadido al prototipo!';
  6. }
  7. hola1.prototype.hola2 = new hola2();
  8. var saludar = new hola1();
  9. alert(saludar.saludo);
  10. alert(saludar.hola2.saludo);
"Saludos" XD
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 15/05/2011, 06:43
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: objetos en javascript

buenas,
tanto la forma JSON como la tradicional (constructores) siguen siendo lo mismo. lo que cambia es la forma de escribirlo y, en el caso de JSON, el constructor de los objetos es el nativo (Object). en la forma tradicional, simplemente debes invocar otro constructor que cree un objeto pero dentro de la declaracion de uno de tus constructores.
Código:
// constructores ;
function Foo(){
this.bar = new Bar();
}

function Bar(){
this.candy = 'candy';
}

foo = new Foo();
console.log(foo.bar.candy); // 'candy';
console.log(foo.constructor); // Foo;

// JSON ;
foo = {
bar: {
   candy: 'candy'
   }
};
console.log(foo.bar.candy); // 'candy';
console.log(foo.constructor); // Object;
ahora bien, segun lo que tu quieres es que un objeto te devuelva un string y que una propiedad de ese objeto devuelva otro string. asi a la ligera, se me ocurre que solo puedes hacerlo con el constructor nativo String.
Código:
function Foo(){
this.bar = new String('rab');
this.bar.candy = 'candy';
}

foo = new Foo();

alert(foo.bar); // 'rab';
alert(foo.bar.candy); 'candy';
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 15/05/2011, 06:43
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 13 años
Puntos: 32
Respuesta: objetos en javascript

Cita:
Iniciado por _cronos2 Ver Mensaje
A ver así:
Código Javascript:
Ver original
  1. function hola1(){
  2.  this.saludo = 'Hola!';
  3. }
  4. function hola2(){
  5.  this.saludo = 'Hola! Voy a ser añadido al prototipo!';
  6. }
  7. hola1.prototype.hola2 = new hola2();
  8. var saludar = new hola1();
  9. alert(saludar.saludo);
  10. alert(saludar.hola2.saludo);
"Saludos" XD
bueno... pero
la situación es que puedas hacer ejemplo
Código Javascript:
Ver original
  1. alert(saludar.hola2); //--> te de => hola!
  2. alert(saludar.hola2.saludo); //--> te de => Hola! Voy a ser añadido al prototipo!
si le cambias de nombre a hola1() el this.saludo por this.hola2 el segundo alert no te devuelve el this.saludo de la hola2();

maso menos es es lo que quiero.

maso pienso en JSON
algo asi
Código Javascript:
Ver original
  1. var saludo={
  2.     hola1:{
  3.         saludo:"hola en uno"
  4.     },
  5.     hola2:{
  6.             saludo:"hola en dos"
  7.         }  
  8. };
  9. // lo llamarias
  10.  
  11. saludo.hola1.saludo //---> alerta con "hola en uno"
  12. // pero como haria para devolver un contenido por defecto al llamar solo a:
  13. // saludo.hola1 => tendria que devolverme un contenido por defecto ejemplo -> tarde
  #5 (permalink)  
Antiguo 15/05/2011, 08:10
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 11 meses
Puntos: 310
Respuesta: objetos en javascript

Entonces házlo como te dijo @zerokilled
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #6 (permalink)  
Antiguo 18/05/2011, 08:36
 
Fecha de Ingreso: mayo-2011
Mensajes: 171
Antigüedad: 13 años
Puntos: 32
Respuesta: objetos en javascript

Gracias...............
  #7 (permalink)  
Antiguo 18/05/2011, 10:03
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: objetos en javascript

A modo informativo, la declaración explícita de objetos no te permite tiparlos, como si podes hacer si usas constructores:

Código Javascript:
Ver original
  1. function Foo() {}
  2.  
  3. var f = new Foo;
  4. f instanceof Foo; // true
  5. f instanceof Object; // true
__________________
blog | @aijoona
  #8 (permalink)  
Antiguo 19/05/2011, 09:34
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: objetos en javascript

Si de verdad te interesa checa esto: http://odetocode.com/Articles/473.aspx

---

Creo que esta intentando hacer algo jQuery style ? Para hacerlo sin meterse con el prototype aqui una forma sencilla:

Código Javascript:
Ver original
  1. var XXX = function(id){
  2.     var seleccion = document.getElementById(id)
  3.     var metodos = {
  4.         cambiar_color: function(color){seleccion.style.color = color; return this},
  5.         cambiar_tamano: function(size){seleccion.style.fontSize = size; return this},
  6.     }
  7.     return metodos;
  8. }
  9.  
  10. XXX("div").cambiar_color("red").cambiar_tamano("13px")

Última edición por InKarC; 19/05/2011 a las 09:47

Etiquetas: objetos
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:42.