javascript复制对象使用说明
更新时间:2011年06月28日 23:39:49 作者:
javascript复制对象使用说明,需要的朋友可以参考下。
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>
function rdl_fnClone(){
var oCloneNode=oList.cloneNode(true);
cloneArea.appendChild(oCloneNode);
}
</script>
<table width=98%><tr><td>
<ul id=oList>
<li>第1个列表项目
<li>第2个<a href="#" onclick="return false;">列表项目</a>
<li style="font-weight:bold;">第3个列表项目
</ul>
</td><td id=cloneArea>
</td></tr></table>
<input type=button value=" 克隆 " onclick= "rdl_fnClone();">
例如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>
function rdl_fnClone(){
var oCloneNode=oList.cloneNode(true);
cloneArea.appendChild(oCloneNode);
}
</script>
<table width=98%><tr><td>
<ul id=oList>
<li>第1个列表项目
<li>第2个<a href="#" onclick="return false;">列表项目</a>
<li style="font-weight:bold;">第3个列表项目
</ul>
</td><td id=cloneArea>
</td></tr></table>
<input type=button value=" 克隆 " onclick= "rdl_fnClone();">
相关文章
JavaScript面向对象(极简主义法minimalist approach)
荷兰程序员 Gabor de Mooij 提出了一种比 Object.create ()更好的新方法,他称这种方法为极简主义法(minimalist approach)。这也是我推荐的方法2012-07-07javascript 面向对象编程 function是方法(函数)
在进行编程时,必免不了要碰到复杂的功能。初学者最怕复杂的功能,因为不能够很好的进行功能边界划分,只能一大串if、循环加case堆叠在一起,结果出来的程序自己看着晕,别人看着更晕。2009-09-09
最新评论