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

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();">

时间: 2024-09-14 17:24:50

javascript复制对象使用说明_js面向对象的相关文章

JavaScript面象对象设计_js面向对象

新一篇: JavaScript中字符串相等比较 面象对象的应用是相当广泛的,在桌面编程中很早就出现了,应用比较成熟,象C++,Java,C#等.而在Web编程这一块,出现就要晚得多,以致于现在的Web开发很困难,当然也有Web开发牵涉的技术多的原因.近年来,面向对象逐渐在Web开发中被引入.很多大型的网站是采用PHP开发的,PHP 4中面向对象的还不是很完善,在PHP 5中有所改进..Net也面向对象,但执行效率比不上PHP. JavaScript在Web开发中用得也是相当多的,常用的表单验证很

Javascript 面向对象 对象(Object)_js面向对象

javascript中的对象创建声明: var obj = {}; 或者 var obj = new Object(); 为对象加入属性,方法: //=====第一种写法==================================== obj.name = '小明'; //为对象加属性 obj.updateName = function(name){//为对象定义updateName方法 this.name = name; } alert(obj.name); obj.updateNam

JavaScript类和继承 this属性使用说明_js面向对象

this属性表示当前对象,如果在全局作用范围内使用this,则指代当前页面对象window: 如果在函数中使用this,则this指代什么是根据运行时此函数在什么对象上被调用. 我们还可以使用apply和call两个全局方法来改变函数中this的具体指向. 先看一个在全局作用范围内使用this的例子: 复制代码 代码如下: <script type="text/javascript"> console.log(this === window); // true consol

JavaScript之信息的封装 js对象入门_js面向对象

JavaScript之信息的封装 在编码前,我们需要了解如下几个术语:封装:对内部数据的表现形式和实施细节进行隐藏: 私有属性和方法:外界只能通过其公开的接口与其进行存取和交互 作用域:JavaScript中,只有函数具有作用域,函数内部定义的属性和方法在外部无法访问 特权方法:声明在函数内部,能访问函数内部变量(属性)的方法,比较耗费内存: 复制代码 代码如下: function Person() { /* * 声明私有的数据 * 昵称,年龄,邮箱 */ var nickName, age,

一个cssQuery对象 javascript脚本实现代码_js面向对象

复制代码 代码如下: /** * @author Supersha * @QQ:770104121 */ var cssQuery = { //parent:用于存储当前节点的父节点的引用 parent: document, select: function(selectorStr){ var selectors=selectorStr.split(" "); //分隔字符串 for (var i = 0, len = selectors.length; i < len; i++

JavaScript 继承使用分析_js面向对象

深入学习javascript继承之前,先了解下面的几个概念: 父类:被继承的类 子类:由继承得来的类 超类:也就是父类 抽象类:一般不用来实例化的类,它的用途是用来给其他类继承. 基类:提供给其他类可以继承的类 派生类:由基类继承而来的类 javascript对象继承通常有下面的5种方式: 1.对象冒充 2.call()方式 3.apply()方式 4.原型链 5.混合方式 A.对象冒充 所谓对象冒充,就是新的类冒充旧的类(旧的类必须采用构造函数方式),从而达到继承目的. eg.1 复制代码 代

面向对象的javascript(笔记)_js面向对象

一.引用 复制代码 代码如下: //产生一个数组对象 var items = new Array('1','2','3'); //使一个引用指向该对象 var itemRef = items; items.push('4'); //items 与 itemRef指向同一对象 alert(items.length === itemRef.length); // 修改对象会产生一个新对象 var item = 'test'; var itemRef = item; item+='ing'; //此时

一个简单的javascript类定义例子_js面向对象

复制代码 代码如下: <script> //定义一个javascript类 function JsClass(privateParam/* */,publicParam){//构造函数 var priMember = privateParam; //私有变量 this.pubMember = publicParam; //公共变量 //定义私有方法 function priMethod(){ return "priMethod()"; } //定义特权方法 //特权方法可以

用JavaScript实现单继承和多继承的简单方法_js面向对象

JavaScript就其本质是函数式编程语言,是Lisp的后代,同时又加入了一下面向对象编程的元素,放弃了一些难懂的函数式语言的元素. 函数式编程语言可以实现面向对象编程,这是毫无疑义的,Curry方法可以实现对类和对象的模拟.但是JavaScript提供了另一种实现OOP的方法:原型继承. 因此,JavaScript实现面向对象编程和一般的函数式编程语言还是有所区别的. 本文我将会给大家介绍JavaScript实现单继承和多继承的方法. 用原型实现单继承: 有很多JavaScript库提供了一