javascriptx
Version:
javascript 基础库扩展
27 lines (23 loc) • 646 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
// Object
var clone = function clone(obj) {
var func = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (!obj || !(obj instanceof Object) || typeof obj == 'function') {
if (typeof obj == 'function' && func) {
return null;
}
return obj;
}
var constructor = obj.constructor;
var result = new constructor();
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
result[key] = clone(obj[key]);
}
}
return result;
};
exports.default = clone;