Javascript 淺拷貝、深拷貝的實(shí)現(xiàn)代碼
在實(shí)際編程過程中,我們常常要遇到這種情況:有一個(gè)對象A,在某一時(shí)刻A中已經(jīng)包含了一些有效值,此時(shí)可能會需要一個(gè)和A完全相同新對象B,并且此后對B任何改動都不會影響到A中的值,也就是說,A與B是兩個(gè)獨(dú)立的對象,但B的初始值是由A對象確定的。在Java/javasript語言中,用簡單的賦值語句是不能滿足這種需求的。要滿足這種需求雖然有很多途徑,但實(shí)現(xiàn)clone()方法是其中最簡單,也是最高效的手段,當(dāng)然了 javascript語言中并沒有此方法.
所以我特意寫了兩個(gè)克隆方法:一個(gè)為淺復(fù)制 ,一個(gè)為深復(fù)制.
解釋:
淺復(fù)制(影子克隆):只復(fù)制對象的基本類型,對象類型,仍屬于原來的引用.
深復(fù)制(深度克隆):不緊復(fù)制對象的基本類,同時(shí)也復(fù)制原對象中的對象.就是說完全是新對象產(chǎn)生的.
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
- JavaScript數(shù)組深拷貝和淺拷貝的兩種方法
- 淺談JavaScript中面向?qū)ο蟮牡纳羁截惡蜏\拷貝
- js對象淺拷貝和深拷貝詳解
- javascript對淺拷貝和深拷貝的詳解
- javascript深拷貝和淺拷貝詳解
- 淺析javaScript中的淺拷貝和深拷貝
- JavaScript基礎(chǔ)心法 深淺拷貝(淺拷貝和深拷貝)
- javascript深拷貝、淺拷貝和循環(huán)引用深入理解
- JavaScript深拷貝和淺拷貝概念與用法實(shí)例分析
- JavaScript實(shí)現(xiàn)淺拷貝與深拷貝的方法分析
- JS淺拷貝和深拷貝原理與實(shí)現(xiàn)方法分析
- JS中實(shí)現(xiàn)淺拷貝和深拷貝的代碼詳解
- javascript二維數(shù)組和對象的深拷貝與淺拷貝實(shí)例分析
- javascript 關(guān)于賦值、淺拷貝、深拷貝的個(gè)人理解
- JS賦值、淺拷貝和深拷貝(數(shù)組和對象的深淺拷貝)實(shí)例詳解
- 詳解JS深拷貝與淺拷貝
- JS對象復(fù)制(深拷貝和淺拷貝)
- js深拷貝與淺拷貝一文徹底搞懂
相關(guān)文章
JAVASCRIPT 客戶端驗(yàn)證數(shù)據(jù)的合法性代碼(正則)
JAVASCRIPT 客戶端驗(yàn)證數(shù)據(jù)的合法性代碼,比較全了,所以簡單分頁了下,喜歡的朋友可以收藏下。2010-04-04javascript中打印當(dāng)前的時(shí)間實(shí)現(xiàn)思路及代碼
打印當(dāng)前的時(shí)間的方法有很多,在本文為大家詳細(xì)介紹下使用javascript是如何做到的,具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下2013-12-12JavaScript中isPrototypeOf函數(shù)作用和使用實(shí)例
這篇文章主要介紹了JavaScript中isPrototypeOf函數(shù)作用和使用實(shí)例,本文講解了它的作用和使用方法以及使用實(shí)例,需要的朋友可以參考下2015-06-06JS實(shí)現(xiàn)點(diǎn)擊下拉菜單把選擇的內(nèi)容同步到input輸入框內(nèi)的實(shí)例
下面小編就為大家分享一篇JS實(shí)現(xiàn)點(diǎn)擊下拉菜單把選擇的內(nèi)容同步到input輸入框內(nèi)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01JavaScript判斷是否為數(shù)字的幾種方式匯總(推薦!)
有時(shí)候需要根據(jù)輸入的內(nèi)容來進(jìn)行計(jì)算,這個(gè)時(shí)候就需要判斷輸入的內(nèi)容是否是數(shù)字,下面這篇文章主要給大家介紹了關(guān)于JavaScript判斷是否為數(shù)字的幾種方式,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06手動實(shí)現(xiàn)js短信驗(yàn)證碼輸入框
本文記錄一下自己手動實(shí)現(xiàn)的一個(gè)前端常見的短信驗(yàn)證碼輸入組件,從需求到實(shí)現(xiàn)逐步優(yōu)化的過程。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06JavaScript中 ES6變量的結(jié)構(gòu)賦值
這篇文章主要介紹了JS 中ES6變量的結(jié)構(gòu)賦值的相關(guān)資料,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07JavaScript在多瀏覽器下for循環(huán)的使用方法
JavaScript語言在不同的瀏覽器的下有存在細(xì)微的差異,但不像DOM操作差異那么大,現(xiàn)在為大家列舉出其中一個(gè)"for循環(huán)"的差異,并介紹如何有效的解決這種差異2012-11-11