1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| function copy (obj) { if (typeof obj !== 'object' || obj === null) { return obj; } var copyObj, _toString = Object.prototype.toString;
if (_toString.call(obj) === '[object Object]') { copyObj = {}; } else if (_toString.call(obj) === '[object Array]') { copyObj = []; }
for (var name in obj) { copyObj[name] = copy(obj[name]); } return copyObj; }
|