先附上js'假克隆'的api--- $.extend (讲道理我还是喜欢java)
其他参数没什么好说的, 第一个参数重点说一下, 文档介绍是改参数为是否深克隆的标识, java出身的我天真的以为 深克隆跟java中的深克隆一样, 然而并不一样 ,这个深克隆的解释是这个样子的
区别就在于浅克隆只将第一层的值赋给新对象 深克隆将已有 相同的属性继续向下寻找需要赋值的项 , 跟java的clone方法完全不沾边好吧, 算了不多说, 给出两种js的克隆方法:
一. 手动递归克隆
代码:
function clone(obj) {
var o = obj instanceof Array ? [] : {};
for(var k in obj) o[k] = typeof obj[k] === Object ? clone(obj[k]) : obj[k];
return o; }
二.取巧方法(我认为取巧)
代码:
var newobj = JSON.parse(JSON.stringify(obj));