var objeto1 = new Object();
var objeto2 = new Object();
// objeto1 = objeto2 funciona como apontamento
// quando é nova instancia de objeto então tem que instanciar e não referenciar
Case of cloning already completed object:
function clone(obj) {
if (null == obj || "object" != typeof obj) return obj;
var copy = obj.constructor();
for (var attr in obj) {
if (obj.hasOwnProperty(attr)) copy[attr] = obj[attr];
}
return copy;
}
var d1 = new Date();
/* Wait for 5 seconds. */
var start = (new Date()).getTime();
while ((new Date()).getTime() - start < 5000);
var d2 = clone(d1);
alert("d1 = " + d1.toString() + "\nd2 = " + d2.toString());
https://stackoverflow.com/a/728694/3130590
A simple option - but not very efficient - is to serialize and de-serialize this object using JSON:
objeto2 = JSON.parse(JSON.stringify(objeto1));
Note: only works if your object has no cycles.– mgibsonbr