我想知道是否有人可以对以下主题有所了解。
我有很多功能和属性的“重”对象:
var HeavyObject = {
property1:{}
property2:1,
propertyN:false,
func1:function(){}
func2:function(){}
....
funcN:function(){}
}
接下来,我有一个“轻量级”对象:
var LightWheight = {
property1: {
sub_property:HeavyObject
},
property2: {
sub: {
sub:{
flag:true,
heavy:HeavyObject
}
}
}
}
我的问题是“ LightWeight”对象实际上有多重,因为它有两个对“ HeavyObject”的引用?它是否仅保留两个指向“ HeavyObject”的指针,还是引用方式不同?
我了解这可能会因JavaScript引擎而异,但我想了解一般想法。
任何澄清是极大的赞赏。
最佳答案
它仅保留两个指向“ HeavyObject”的指针还是
参考做不同?
它保留两个指向HeavyObject
的指针。
如果要真正测试,请更改两个指针中的任何一个并检查它们指向的两个指针的值。
如果这样做,您的LightWheight
将会变得很沉重,
var LightWheight = {
property1: {
sub_property: {
property1: {}
property2: 1,
propertyN: false,
func1: function () {}
func2: function () {}....
funcN: function () {}
}
},
property2: {
sub: {
sub: {
flag: true,
heavy: property1: {}
property2: 1,
propertyN: false,
func1: function () {}
func2: function () {}....
funcN: function () {}
}
}
} }