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的值无论怎么改变都不会影响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="#" 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();">
推荐阅读
Jsonp 跨域的原理以及Jquery的解决方案
如果要进行跨域请求,我们可以通过使用html的script标记来进行跨域请求,并在响应中返回要执行的script代码,其中可以直接使用JSON传递javascript对象。这种跨域的通讯方式称为JSONP。 个人理解: 就是在客户端动态>>>详细阅读
本文标题:javascript复制对象使用说明
地址:http://www.17bianji.com/kaifa2/JS/24475.html
1/2 1