javascript 中 object类型的元素是浅拷贝的。也就是说副本指向相同地址
<script> var a = b = []; a.push('aaa'); console.dir(b);
/*
Array[1] 0: "aaa" length: 1 __proto__: Array[0]
*/ </script>
实现深层拷贝
<script> function dCopy(o){ if(typeof(o) != 'object') return o; var _o = o.constructor == Array ? [] :{}; for(var i in o){ _o[i] = dCopy(o[i]); } return _o; } var people = { name:'humen being', todo:['say','walk'] } var programer = dCopy(people); programer.todo.push('code'); console.dir(programer); console.dir(people);
/*
*/
</script>
没啥技术含量就是迭代浅拷贝- -
转载于:https://www.cnblogs.com/glory-jzx/archive/2012/11/10/2763557.html