function clone(o, t) {
t = t || {};
for (var k in o) {
t[k] = o[k];
}
return t;
}
function deepClone(o, t) {
t = t || {};
for (var k in o) {
if (o.hasOwnProperty(k)) {
if (o[k] !== null && typeof(o[k]) == 'object') {
t[k] = Object.prototype.toString.call(o[k]) == '[object Array]' ? [] : {} ;
deepClone(o[k], t[k]);
} else {
t[k] = o[k];
}
}
}
return t;
}
var a = {
bb : 'bbv',
cc : [4,5,6],
dd : {
eee : 'eeev',
fff : [
7,
{
gggg : 'ggggv'
},
9
]
}
}
var b = clone(a);
b.cc[0] = 3;
console.log(b.cc[0]);
console.log(a.cc[0]);
var c = deepClone(a);
c.cc[1] = 3;
console.log(c.cc[1]);
console.log(a.cc[1]);