Rumah  >  Artikel  >  hujung hadapan web  >  javascript复制对象使用说明_js面向对象

javascript复制对象使用说明_js面向对象

WBOY
WBOYasal
2016-05-16 18:05:32926semak imbas

oldObj是一个对象,而不是值
例如var newObj=oldObj;
如果想oldObj改变的时候不影响到newObj;
可以这样写一个函数

复制代码 代码如下:

function clone(myObj){
if(typeof(myObj) != 'object') return myObj;
if(myObj == null) return myObj;
var myNewObj = new Object();
for(var i in myObj)
myNewObj[i] = clone(myObj[i]);
return myNewObj;
}

然后这样调用
newObj=clone(oldObj)
之后,oldObj的值无论怎么改变都不会影响newObj

JavaScript复制对象
语法:
oElement = object . cloneNode ( bCloneChildren )

参数:
bCloneChildren :  可选项。布尔值(Boolean)。false | true
false :  默认值。克隆 object 时不包括 object 的 childNodes 集合。即其所有子对象。
true :  克隆 object 时包括 object 的 childNodes 集合。即其所有子对象。

返回值:
oElement :  对象(Element)。返回克隆后的新对象的引用。
说明:
在文档结构中克隆 object 。
克隆后,获取克隆对象的 id 时,将返回一个集合。
在运行时使用此方法是可以的。在对象的关闭标签被解析前,文档空间可能不能被呈递。
示例代码:
复制代码 代码如下:

<script> <BR>function rdl_fnClone(){ <BR>var oCloneNode=oList.cloneNode(true); <BR>cloneArea.appendChild(oCloneNode); <BR>} <BR></script>


  • 第1个列表项目
  • 第2个列表项目
  • 第3个列表项目




Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn