我想知道是否有人可以对以下主题有所启发。
我有“重”的对象,有很多功能和属性:
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引擎而异,但我想了解一般的想法。
非常感谢任何澄清。
答案 0 :(得分:3)
它只保留两个指向“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 () {}
}
}
} }