我尝试使用Jquery.extend对Javascript对象进行深层复制,但我不会将其复制...
这是一个简单的例子:
$(document).ready(function(){
console.log('Hi')
var obj1 = [{'name':'bob','age':'20'},{'name':'Tom','age':'20'}];
jQuery.extend(obj2,obj1)
console.log('Hi')
})
我没有看到在console.log中打印的第二个调试stmt
答案 0 :(得分:3)
您需要先声明obj2
:
console.log('Hi')
var obj1 = [{'name':'bob','age':'20'},{'name':'Tom','age':'20'}];
var obj2 = {}
jQuery.extend(obj2,obj1)
console.log('Hi')
然而,新数组仍将使用相同的对象。如果你想要一个深层拷贝(也就是说,一个包含其中对象的新副本的数组),则为jQuery.extend的deep
参数传递true:
jQuery.extend(true, obj2,obj1)