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)<pre name="code" class="html"><script>
function rdl_fnClone(){
var oCloneNode=oList.cloneNode(true);
cloneArea.appendChild(oCloneNode);
}

 

<span style="color:#FF0000;">//发现上边一段有问题,碰到数组,也会直接变成对象,稍微改下
function clone(myObj){
	if(typeof(myObj) != 'object') return myObj;
	if(myObj == null) return myObj;
	var myNewObj;
	if(myObj.constructor == Array){
		 myNewObj = new Array();
	}else{
		 myNewObj = new Object();
	}
	
	for(var i in myObj)
	myNewObj[i] = clone(myObj[i]);
	return myNewObj;
} </span>


然后这样调用 newObj=clone(oldObj) 之后,oldObj的值无论怎么改变都不会影响newObjJavaScript复制对象 语法: 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="#" οnclick="return false;">列表项目</a>
<li style="font-weight:bold;">第3个列表项目
</ul>
</td><td id=cloneArea>
</td></tr></table>
<input type=button value=" 克隆 " οnclick= "rdl_fnClone();"> 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值