最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談克隆 JavaScript

 更新時(shí)間:2021年10月29日 10:53:15   投稿:hqx  
這篇文章主要介紹了克隆 JavaScript,克隆又有淺克隆與深克隆,文章圍繞JavaScript淺克隆與深克隆的相關(guān)資料展開具體內(nèi)容,需要的朋友可以參考一下

1、淺克隆

淺克隆無法copy數(shù)組和對(duì)象

var obj = {
    name : "abs",
    age : '18',
    sex : 'male'
}
var obj1 = {}
function clone(Origin,target) {
    target = target || {};//防止用戶不輸入target
    for(var k in Origin){
        target[k] = Origin[k];
    }
}
clone(obj,obj1);

2、深克隆

先判斷它是什么,原始值,數(shù)組還是對(duì)象,分別處理

  • 遍歷對(duì)象
  • 是原始值直接copy
  • 不是原始值判斷是數(shù)組還是對(duì)象
  • 是數(shù)組建空數(shù)組
  • 是對(duì)象建空對(duì)象
  • 建立了之后再遍歷一遍原始對(duì)象或數(shù)組里是啥
  • 遞歸
var obj = {
    name : 'lin',
    age : '18',
    sex : 'male',
    card : [1,2,3,4],
    wife : {
        name : 'bcsds',
        son : {
            name : 'aaa'
        },
        age : '23'
    }
}
var obj1 = {}
//原始值和對(duì)象數(shù)組typeof返回值有區(qū)別
function deepClone(origin,target) {
    target = target || {};
    for(var k in origin) {
        if(origin.hasOwnProperty(k)){
            if(typeof(origin[k]) == 'object') {
                if(Object.prototype.toString.call(origin[k]) == '[object Array]') {
                    target[k] = [];
                }else {
                    target[k] = {};
                }
                deepClone(origin[k],target[k]);
            }else {
                target[k] = origin[k];
            }
        }
    }
}
deepClone(obj,obj1);

相關(guān)文章

  • JavaScript原型鏈詳解

    JavaScript原型鏈詳解

    這篇文要給大家介紹的是JavaScript原型鏈,文章主要介紹內(nèi)容有構(gòu)造函數(shù)、屬性Prototype、屬性Prototype、屬性__proto__、訪問原型上的方法等問題,需要的朋友可以參考一下文章的詳細(xì)內(nèi)容
    2021-11-11
  • 詳解微信小程序 通過控制CSS實(shí)現(xiàn)view隱藏與顯示

    詳解微信小程序 通過控制CSS實(shí)現(xiàn)view隱藏與顯示

    這篇文章主要介紹了微信小程序 通過控制CSS實(shí)現(xiàn)view隱藏與顯示的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • TypeScript中Module使用區(qū)別及模塊路徑解析規(guī)則

    TypeScript中Module使用區(qū)別及模塊路徑解析規(guī)則

    這篇文章主要為大家介紹了TypeScript中Module使用區(qū)別及模塊路徑解析規(guī)則,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Css-In-Js實(shí)現(xiàn)classNames庫(kù)源碼解讀

    Css-In-Js實(shí)現(xiàn)classNames庫(kù)源碼解讀

    這篇文章主要為大家介紹了Css-In-Js實(shí)現(xiàn)classNames庫(kù)源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 微信小程序 出現(xiàn)錯(cuò)誤:{

    微信小程序 出現(xiàn)錯(cuò)誤:{"baseresponse":{"errcode":-80002,"errmsg":""}}解決

    這篇文章主要介紹了微信小程序 出現(xiàn)錯(cuò)誤:{"baseresponse":{"errcode":-80002,"errmsg":""}}解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • 本地存儲(chǔ)localStorage設(shè)置過期時(shí)間示例詳解

    本地存儲(chǔ)localStorage設(shè)置過期時(shí)間示例詳解

    這篇文章主要為大家介紹了本地存儲(chǔ)localStorage設(shè)置過期時(shí)間示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 在JavaScript實(shí)例對(duì)象中改寫原型方法詳情

    在JavaScript實(shí)例對(duì)象中改寫原型方法詳情

    這篇文章主要介紹了在JavaScript實(shí)例對(duì)象中改寫原型方法的一下相關(guān)資料,需要的效果版可以參考一下文章詳細(xì)內(nèi)容,希望對(duì)你有所幫助
    2021-10-10
  • 微信小程序 UI布局常用技巧整理總結(jié)

    微信小程序 UI布局常用技巧整理總結(jié)

    這篇文章主要介紹了微信小程序 UI布局常用技巧整理總結(jié)的相關(guān)資料,現(xiàn)在不論是APP 還是各種軟件,UI布局還是非常重要的,用戶體驗(yàn)第一位啊,這里就整理下微信小程序的UI布局,需要的朋友可以參考下
    2016-12-12
  • Javascript閉包使用場(chǎng)景原理詳細(xì)

    Javascript閉包使用場(chǎng)景原理詳細(xì)

    這篇文章主要介紹了Javascript閉包的使用場(chǎng)景,  由于在Javascript語言中,只有函數(shù)內(nèi)部的子函數(shù)才能讀取局部變量,閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。所以,在本質(zhì)上,閉包就是將函數(shù)內(nèi)部和函數(shù)外部連接起來的一座橋梁,下面一起進(jìn)入文化在哪個(gè)了解文章內(nèi)容
    2021-11-11
  • JS前端重新部署通知用戶刷新網(wǎng)頁(yè)

    JS前端重新部署通知用戶刷新網(wǎng)頁(yè)

    這篇文章主要為大家介紹了JS前端重新部署通知用戶刷新網(wǎng)頁(yè)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01

最新評(píng)論

怀安县| 旌德县| 专栏| 浮梁县| 婺源县| 东光县| 许昌县| 德清县| 德令哈市| 河源市| 扎赉特旗| 宣城市| 康定县| 武山县| 穆棱市| 嘉善县| 长岭县| 乌拉特前旗| 临洮县| 彰化市| 甘德县| 泸水县| 托克逊县| 临泉县| 邵武市| 崇义县| 哈尔滨市| 金阳县| 邵武市| 南部县| 临海市| 沧州市| 永康市| 登封市| 沁水县| 堆龙德庆县| 开阳县| 蚌埠市| 留坝县| 南京市| 平昌县|