我想知道是否有人可以对以下主题进行一些阐述。
我有一个带有很多函数和属性的“重”对象:
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 引擎而异,但我想了解总体思路。
非常感谢任何澄清。
最佳答案
Does it only keep two pointers to the "HeavyObject" or is the reference done differently?
它保留两个指向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 () {}
}
}
} }
关于javascript - JavaScript 中对象引用如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21773256/