Javascript分配对象与复制属性
我有一个应用程序,它经常调用AJAX来获取JSON格式的(关联)数组。对于每个AJAX结果,我需要根据新的JSON结果更新当前数组 以下方法在内存消耗和垃圾收集方面有什么不同Javascript分配对象与复制属性,javascript,performance,memory-management,Javascript,Performance,Memory Management,我有一个应用程序,它经常调用AJAX来获取JSON格式的(关联)数组。对于每个AJAX结果,我需要根据新的JSON结果更新当前数组 以下方法在内存消耗和垃圾收集方面有什么不同 将数组(对象)的每个元素直接指定给目标数组。i、 e.myArray[ID].data=jsonData[ID] 为每个对象逐个指定特性。i、 e.myArray[ID].data[prop]=jsonData[ID][prop] 阵列结构 // Format of my data in the page myArray
myArray[ID].data=jsonData[ID]
myArray[ID].data[prop]=jsonData[ID][prop]
阵列结构
// Format of my data in the page
myArray = {'ID1': {'dom-el': dom-el, 'data': data-object}}
// Format of JSON data through AJAX request
jsonData = {'ID1': data-object,... }
分配引用与分配原语-这就是您要问的吗?一个接一个地复制原语总是会更慢、更重。@webduvet这很好,但我想问的是,在这两种情况下,内存消耗会受到怎样的影响。以及如何对对象进行垃圾收集。我想我会重写这个问题。如果你像
oldObject.data=newArray
那样分配新对象。然后,只要没有指向它的变量,引用它的oldObject.data将有资格进行垃圾收集。