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

