我想要实现的是对象的以下结构。请注意,所有属性值都是常量字符串:
ObjA
ObjB
prop1
prop2
prop3
ObjC
prop4
prop5
.
.
.
因此,应该可以使用以下sintax访问属性值:
alert(ObjA.ObjC.pro4);
到目前为止,我已经尝试了以下类似方法,但均未成功。
var csi = new Object();
var cao98 = new Object();
csi.cao98="";
csi.cao98.rgi = "NRRGILIG";
alert (csi.cao98.rgi);
可能吗?我不想在这个问题上走得太远,因为关于这个主题有很多讨论。
最佳答案
在第三行,您为cao98
对象的csi
属性分配一个空字符串。
我认为您的意思是:
var csi = new Object();
var cao98 = new Object();
csi.cao98=cao98;
csi.cao98.rgi = "NRRGILIG";
alert (csi.cao98.rgi);
如果您只是像这样从字面上定义对象,则可以改用对象文字语法:
var csi = {
cao98: {
rgi: "NRRGILIG"
}
};
alert (csi.cao98.rgi);
最佳方法取决于您使用对象的环境。