javascript 对象赋值引发异常
2012-12-06
72
我正在尝试构建一个 javascript 矩阵作为对象。
我绑定了:
var variations={};
variations["p1088"]["red"]["gen"]=1107;
variations["p1090"]["red"]["l"]=1288;
和
var variations={};
variations.p1088.red.gen=1107;
variations.p1090.red.gen=1288;
但两者都引发异常
TypeError: variations.p1090 is undefined
这里出了什么问题?
3个回答
每个子对象都需要声明。因此,要获得第一个子对象,它应该是
var variations = {};
variations.p1088 = {};
variations.p1088.red = {};
variations.p1088.red.gen = 1107;
但是,如果我理解了你要做什么,我会将变体变成一个对象数组。
var variations = [];
variations[0] = {name: 'p1088',color:'red',gen:1007}
Snuffleupagus
2012-12-06
正如错误所言,
variations.p1090
未定义。您从未为其赋值。
var variations={};
variations.p1088={};
variations.p1088.red={};
variations.p1088.red.gen=1107;
James Montagne
2012-12-06
因为您不能假设 p1088、red 和 gen 是对象。这有效:
// short version
var variations = { p1088: { red: { gen: 1107 } } };
// long version
var varations = {};
varations.p1088 = {};
varations.p1088.red = {};
varations.p1088.red.gen = 1077;
Brian Cray
2012-12-06