递归深复制对象

话不多说直接上代码了

<script>
        var obj = {
      // 定义要进行深复制的对象
            name: "张三",
            age: 14,
            tel: 110,
            info: {
     
                isSingle: true
            }
        }
		// 定义深复制的函数
        function deepClone(params) {
     
            var obj = {
     }
            if(!(params instanceof Object)) return

            for(let key in params) {
     
                if(params[key] instanceof Object) {
     
                    obj[key] = deepClone(params[key])
                } else {
     
                    obj[key] = params[key]
                }
            }
            return obj
        }
		// 验证结论
        var obj2 = deepClone(obj)
        obj2.name = '李四'
        obj2.info.isSingle = false
        console.log(obj, obj2)
    </script>

你可能感兴趣的:(js)