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完成代码前最好对其做5件事
Apr 07 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
为什么JavaScript没有块级作用域
May 22 Javascript
详解React Native顶|底部导航使用小技巧
Sep 14 Javascript
React如何避免重渲染
Apr 10 Javascript
vue实例中data使用return包裹的方法
Aug 27 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
Aug 31 Javascript
JavaScript之实现一个简单的Vue示例
Jan 17 Javascript
express.js中间件说明详解
Mar 19 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
Jan 02 Javascript
js实现全选和全不选
Jul 28 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与XML的PDF文档生成技术
2006/10/09 PHP
php中cookie的使用方法
2014/03/29 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
js event事件的传递与冒泡处理
2009/12/06 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
IE下写xml文件的两种方式(fso/saveAs)
2013/08/05 Javascript
js控制表单不能输入空格的小例子
2013/11/20 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
浅析jQuery 3.0中的Data
2016/06/14 Javascript
JS选取DOM元素的简单方法
2016/07/08 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
微信小程序实现的五星评价功能示例
2019/04/25 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
python装饰器使用方法实例
2013/11/21 Python
Python中的zip函数使用示例
2015/01/29 Python
python自然语言编码转换模块codecs介绍
2015/04/08 Python
在Django的模型中添加自定义方法的示例
2015/07/21 Python
Python 正则表达式入门(中级篇)
2016/12/07 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
Django中提示消息messages的设置方式
2019/11/15 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
CSS3实现div从下往上滑入滑出效果示例
2020/04/28 HTML / CSS
匈牙利超级网上商店和优惠:Alza.hu
2019/12/17 全球购物
硕士研究生自我鉴定
2013/11/08 职场文书
个人融资协议书
2014/10/02 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
解决flex布局中子项目尺寸不受flex-shrink限制
2022/05/11 HTML / CSS