美文网首页
对象拷贝

对象拷贝

作者: 我讲你思 | 来源:发表于2019-04-30 14:16 被阅读0次
    var obj1 = {
        name: 'SpawN',
        age: 26,
        job: 'FEer',
        colors: ['green', 'red']
    }

    // 赋值
    // var obj2 = obj1

    
    // 浅拷贝
    // let obj2 = {}
    // for (let i in obj1) {
    //     if (obj1.hasOwnProperty(i)) {
    //         obj2[i] = obj1[i]
    //     }
    // }
    
    // 浅拷贝
    // let obj2 = Object.assign({}, obj1)

    // 深拷贝 hack 方法
    // var obj2 = JSON.parse(JSON.stringify(obj1))
    

    // 深拷贝
    function deepCopy (obj) {
        if (typeof obj !== 'object') return
        var newObj = obj instanceof Array ? [] : {}
        for (let key in obj) {
            if (obj.hasOwnProperty(key)) {
                newObj[key] = typeof obj[key] === 'object' ? arguments.callee(obj[key]) : obj[key]
            }
        }

        return newObj
    }

相关文章

  • java 对象的拷贝

    拷贝:即复制 对象拷贝:即对象复制 java 对象拷贝分类:浅拷贝、深拷贝 java 对象的浅拷贝和深拷贝针对包含...

  • Java-序列化—(三)序列化实现深拷贝

    浅拷贝是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象包含的引用指向的对象。深拷贝不仅拷贝对象...

  • Objective-C中的深拷贝与浅拷贝

    一、概念 浅拷贝——只拷贝指向对象的指针,不拷贝引用对象本身。 深拷贝——拷贝引用对象本身。将对象obj,拷贝后得...

  • iOS - copy与mutableCopy

    浅拷贝与深拷贝 浅拷贝:指针拷贝,不产生新的对象,源对象的引用计数器+1 深拷贝:对象拷贝,会产生新的对象,源对象...

  • 深拷贝和浅拷贝不同

    浅拷贝:指针(地址)拷贝,不会产生新对象深拷贝:内容拷贝,会产生新对象 非容器类对象的深拷贝、浅拷贝 非容器类对象...

  • 前端笔记(二) 对象的深浅拷贝,函数的防抖与节流,函数柯里化 ,

    对象的深浅拷贝 对象的深拷贝与浅拷贝的区别: 浅拷贝:仅仅复制对象的引用, 而不是对象本身。 深拷贝:把复制的对象...

  • 引用赋值和浅拷贝和深拷贝

    1.对象的引用赋值 2.对象的浅拷贝 浅拷贝:是指拷贝对象时仅仅拷贝对象本身(包括对象中的基本变量),而不拷贝对象...

  • 深浅copy

    概念:浅拷贝:不拷贝对象,只拷贝对象指针,因此不会产生新的对象。深拷贝:拷贝对象到新的内存,因此会产生新的对象。 ...

  • 2018-10-10函数基础

    深拷贝和浅拷贝 深拷贝 copy.deepcopy(对象)浅拷贝 copy.copy(对象)深拷贝: 将对象对应的...

  • Cloneable 接口

    浅拷贝(shallow clone)和深拷贝(deep clone) 浅拷贝是指拷贝对象时仅仅拷贝对象本身和对象中...

网友评论

      本文标题:对象拷贝

      本文链接:https://www.haomeiwen.com/subject/nufvnqtx.html