Javascript完美拷贝对象
作者:
Hi小胡 | 来源:发表于
2018-11-06 11:45 被阅读13次function clone(obj) {
if (obj === null) return null
if (typeof obj !== 'object') return obj;
if (obj.constructor === Date) return new Date(obj);
if (obj.constructor === RegExp) return new RegExp(obj);
var newObj = new obj.constructor(); //保持继承链
for (var key in obj) {
if (obj.hasOwnProperty(key)) { //不遍历其原型链上的属性
var val = obj[key];
newObj[key] = typeof val === 'object' ? arguments.callee(val) : val; // 使用arguments.callee解除与函数名的耦合
}
}
return newObj;
}
本文标题:Javascript完美拷贝对象
本文链接:https://www.haomeiwen.com/subject/vwnyxqtx.html
网友评论