前端开发

 首页 > 前端开发 > javascript > js数组引用问题之js数组如何实现拷贝替换

js数组引用问题之js数组如何实现拷贝替换

分享到:
【字体:
导读:
          最近在网上看到一篇关于js数组复制最有效的方法是直接使用slice和concat方法。这2个方法的确是最快的把数组成功复制,而不是引用。可以运行实例: scripttype=text/javascript!--vararr1=[1,2,...

最近在网上看到一篇关于js数组复制最有效的方法是直接使用sliceconcat方法。这2个方法的确是最快的把数组成功复制,而不是引用。可以运行实例:




可以看到这2个方法只是复制了数组的第一维,由于数组第一维存放的是第二维的引用,而第二维才是实际存放他们的内容。就此我们可以联想到网上流行的复制对象的函数,其实也只是复制对象的第一层。





所以要想深层复制对象,还得在该函数基础上修改下。完整实例如下:






分享到:
javascript函数命名的三种方式及区别介绍
javascript函数命名的三种方式及区别介绍 第一 function fn(val1,val2) { alert(val1+val2); } fn(1,2); 第二 var fn=function() { alert(val1+val2); } fn(1,2); 第三 var fn=new Function("alert(val1+val2)"); fn(1,2);  上面三种方式逻辑上是等价的,但是还是有点小区别:区别一:例一中的函数会在代码执行以前被加...
js克隆对象、数组的常用方法
Ext的两种克隆的方法: 可以克隆对象、数据等:var newJson = Ext.clone(json); 只能克隆数组:var newJson = Ext.Array.clone(json);   JQuery的方法: 深复制【可以迭代】:var newJson = jQuery.extend(true,{}, json); 浅复制【不能迭代】:var newJson = jQuery.extend({}, json); var newJson = $.map(json,function...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……