javascript複製對象使用說明

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.