2012-12-06 84 views
0

即时尝试构建一个JavaScript矩阵作为对象。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 

什么错吗?

回答

2

因为你不能假定p1088,红色和gen是对象。此作品:

// short version 
var variations = { p1088: { red: { gen: 1107 } } }; 

// long version 
var varations = {}; 
varations.p1088 = {}; 
varations.p1088.red = {}; 
varations.p1088.red.gen = 1077; 
4

由于错误提示,variations.p1090未定义。你从未给它一个价值。

var variations={}; 
variations.p1088={}; 
variations.p1088.red={}; 
variations.p1088.red.gen=1107; 
5

每个子对象都需要声明。因此,要获得第一个一组这将是

var variations = {}; 
variations.p1088 = {}; 
variations.p1088.red = {}; 
variations.p1088.red.gen = 1107; 

不过,如果我理解你想要做什么,我会做变化对象的数组。

var variations = []; 
variations[0] = {name: 'p1088',color:'red',gen:1007}