javascript中,函数参数的传递使用的是引用。变量的赋值也是引用。对象的深拷贝经常用到。自个实现了一个copy函数:
function copy(object) {
if (object instanceof Array) {
return object.slice().map((v) => {
return copy(v);
})
}
if (object instanceof Object) {
var o = {};
for (k in object) {
o[k] = copy(object[k]);
}
return o;
}
return object;
}
too young too simple~
- 使用JSON
function clone(object) {
return JSON.parse(JSON.stringify(object));
}
- 使用jquery
var newObject = jQuery.extend(true, {}, oldObject);