美文网首页
对象拷贝

对象拷贝

作者: 我讲你思 | 来源:发表于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
        }
    

    相关文章

      网友评论

          本文标题:对象拷贝

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