javascript复制对象使用说明


Posted in Javascript onJune 28, 2011

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();">
Javascript 相关文章推荐
js对象的比较
Feb 26 Javascript
js替代copy(示例代码)
Nov 27 Javascript
js 处理数组重复元素示例代码
Dec 27 Javascript
浅谈jQuery中的事件
Mar 23 Javascript
JS实现的页面自定义滚动条效果
Oct 26 Javascript
JS根据浏览器窗口大小实时动态改变网页文字大小的方法
Feb 25 Javascript
js使用generator函数同步执行ajax任务
Sep 05 Javascript
jQuery实现动态控制页面元素的方法分析
Dec 20 jQuery
JS实现去除数组中重复json的方法示例
Dec 21 Javascript
详解js创建对象的几种方法及继承
Apr 12 Javascript
vue 实现动态路由的方法
Jul 06 Javascript
vue element table中自定义一些input的验证操作
Jul 18 Javascript
javascript 45种缓动效果 非常酷
Jun 28 #Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
Jun 28 #Javascript
关于js类的定义
Jun 28 #Javascript
js 编程笔记 无名函数
Jun 28 #Javascript
jQuery效果 slideToggle() 方法(在隐藏和显示之间切换)
Jun 28 #Javascript
基于jquery的回到页面顶部按钮
Jun 27 #Javascript
jQuery新闻滚动插件 jquery.roller.js
Jun 27 #Javascript
You might like
php include和require的区别深入解析
2013/06/17 PHP
新手菜鸟必读:session与cookie的区别
2013/08/22 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
javascript call和apply方法
2008/11/24 Javascript
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
理解Javascript_10_对象模型
2010/10/16 Javascript
非常强大的 jQuery.AsyncBox 弹出对话框插件
2011/08/29 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
浅谈js里面的InttoStr和StrtoInt
2016/06/14 Javascript
Node.js搭建小程序后台服务
2018/01/03 Javascript
详解如何在你的Vue项目配置vux
2018/06/04 Javascript
老生常谈JS中的继承及实现代码
2018/07/06 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
2018/08/14 Javascript
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
使用layui的router来进行传参的实现方法
2019/09/06 Javascript
js实现点击生成随机div
2020/01/16 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
2017/12/14 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
HTML5之SVG 2D入门6—视窗坐标系与用户坐标系及变换概述
2013/01/30 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
公司营业员的工作总结自我评价
2013/10/05 职场文书
道德之星事迹材料
2014/05/03 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang