如:var a = [1,2,3,4];var b= [];b = a;这个不是把值赋值过去而是b作为a的引用,b改变的是a如何b指向的是一个新数组,a把元素值全部赋值过去? 1.普通数组可以使用 var b = [].concat(a); ----------------------------------------------------------------------------------------------------- 2.我遇到一个jquery对象类型的数组是[Obj…
在工作中遇到了深浅复制的问题,所以详细总结一下: 深复制和浅复制只针对像 Object, Array 这样的复杂对象的.简单来说,浅复制只复制一层对象的属性,而深复制则递归复制了所有层级. var obj = { a:1, arr: [2,3] }; var shadowObj = shadowCopy(obj); function shadowCopy(src) { var dst = {}; for (var prop in src) { if (src.hasOwnProperty(pro…