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 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 trace(otraMujer.toString("otraMujer :")); otraMujer.fumaPetas = "10 al dia"; otraMujer.realidad.hijos = undefined ; // miremos sus nueva propiedades trace(otraMujer.toString("usando completaObject :"))
salu2