Comunidad de diseño web y desarrollo en internet online

duplicaObject (obj) y completaObject (obj,global)

Citar            
MensajeEscrito el 22 Sep 2004 09:57 pm
pues eso para copiar objectos ...

completaObject lo tengo para actualizar datos de una plantilla (por llamarlo de alguna forma )

el toString no tiene nada q ver pero ayudad a ver el contenido de los objectos

Código :

//  para ver los objectos prototype de nocular 
Object.prototype.toString = function(s, t){
   if (t == undefined) t = "\t";
   else t += "\t";
   if (s == undefined) s = "Object: {";
   else s += "{";
   for (var p in this){
      s += "\n"+t;
      if (!looped) looped = true
      if (this[p] instanceof Array)  s += p+": ["+this[p]+"]";
      else if (typeof this[p]  == "object") s += this[p].toString(p+": ", t);
      else if (typeof this[p]  == "function") s += p+": (function)";
      else s += p+": "+this[p];
   }
   return s+"\n"+t.slice(0,-1)+"}";
};


los metodos en cuestion

Código :

function duplicaObject(obj:Object) {
   var dupObj = new Object();
   for (var i in obj) {
      if (obj[i] instanceof Array)dupObj[i]= obj[i].concat(); 
      else if (typeof (obj[i]) == "object") dupObj[i] = duplicaObject(obj[i]);
      else dupObj[i] = obj[i];
   }
   return dupObj;
};

function completaObject (obj:Object,global:Object) {
   var compObj = new Object () ;
   for (var i in global) {
      if (global[i] instanceof Array){
         if(obj[i]== undefined) compObj[i] = global[i].concat();
         else compObj[i] = obj[i].concat();
      } else if (typeof (global[i]) == "object") {
         if(obj[i]== undefined) compObj[i] = duplicaObject(global[i]);
         else compObj[i] = duplicaObject(obj[i]);
      } else {   
         if( obj[i] == undefined ) compObj[i] = global[i] ;
         else compObj[i] = obj[i];   
      }
   }
   return compObj;
};


ejemplo de duplicaObject:

Código :

mujer = {
   fantasia : {
      feliz: true,
      actividadSexual : "plena",
      dineroSemanal : 500 ,
      trabajos : {curro:8,casa:0}
   },
   realidad:{
      feliz: false ,
      actividadSexual : undefined ,
      dineroSemanal : 100,
      trabajos : {curro:6,casa:5},
      hijos: ["pepa", "pedrito","Susanita"]
   },
   fantasiaSexual : "jugar con el profe de aerobic"
}

// y como no hay dos mujeres iguales !!
var otraMujer:Object = duplicaObject(mujer);
otraMujer.fantasiaSexual = "empacharme de sexo hasta ...  " ;
otraMujer.fumaPetas = "10 al dia";
otraMujer.realidad.hijos = undefined ;

// miremos q tiene escondido XD
trace(otraMujer.toString("otraMujer :"));


ejemplo de completaObject:

Código :

mujer = {
   fantasia : {
      feliz: true,
      actividadSexual : "plena",
      dineroSemanal : 500 ,
      trabajos : {curro:8,casa:0}
   },
   realidad:{
      feliz: false ,
      actividadSexual : undefined ,
      dineroSemanal : 100,
      trabajos : {curro:6,casa:5},
      hijos: ["pepa", "pedrito","Susanita"]
   },
   fantasiaSexual : "jugar con el profe de aerobic"
}

// y como no hay dos mujeres iguales !!
var otraMujer:Object = new Object ();
//podemos modificar valores antes de copiar de mujer
//si se crean valores inexistentes antes de copiar de mujer no se tomaran en cuenta ...
otraMujer.fantasiaSexual = "empacharme de sexo hasta ...  " ;

//copiando los elementos incompletos en mujer
otraMujer = completaObject(otraMujer,mujer)

// miremos q tiene escondido XD
trace(otraMujer.toString("otraMujer :"));

otraMujer.fumaPetas = "10 al dia";
otraMujer.realidad.hijos = undefined ;

// miremos sus nueva propiedades
trace(otraMujer.toString("usando completaObject :"))


salu2

Por buho29

510 de clabLevel

1 tutorial

7 ejemplos

 

unknown
Citar            
MensajeEscrito el 23 Sep 2004 02:50 am
o_O :?

Are you bored? xD

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.